当前位置: 首页 > article >正文

【vue3 入门到实战】7. 标签中的 ref

目录

1. ref 的作用

2. 如何使用


1. ref 的作用

用于注册模板引用

用在普通DOM标签上,获取的是DOM节点

用在组件标签上,获取的是组件的实例对象

2. 如何使用

代码如下

<template>
  <div class="app">
    <h2 ref="title">你好呀</h2>
    <button @click="test">测试</button>
    <Person ref="person"></Person>
  </div>
</template>

<script setup lang="ts">
import Person from './components/Person.vue'
import { ref } from 'vue';

let title = ref();
let person = ref();
function test() {
  console.log(title.value)
  console.log(person.value)
}
</script>

<style>
.app{
  background: wheat;
  padding: 20px;
}
</style>

 

值得一提的是,这里的获取的组件的实例对象是没有任何信息的。如果想拿到子组件中的信息,需要在子组件 Person.vue 中要使用 defineExpose 暴露内容。

代码如下

<template>
  <div class="person">
    <div class="person">
      <h1>需求:水温达到50℃,或水位达到20cm,则联系服务器</h1>
      <h2 id="demo">水温:{
  
  { temp }}</h2>
      <h2>水位:{
  
  { height }}</h2>
      <button @click="changePrice">水温+1</button>
      <button @click="changeSum">水位+10</button>
    </div>
  </div>
</template>

<script lang="ts" setup name="Person">
  import {ref,watch,watchEffect} from 'vue'
    // 数据
    let temp = ref(0)
    let height = ref(0)
  
    // 方法
    function changePrice(){
      temp.value += 10
    }
    function changeSum(){
      height.value += 1
    }

    watchEffect(()=>{
      if(temp.value >= 50 || height.value >= 20){
        console.log('联系服务器')
      }
    })


    defineExpose({
      temp,
      height  
    })
</script>

这样控制台打印的内容包含了子组件暴露的内容。


http://www.kler.cn/a/535448.html

相关文章:

  • c++11总结26——std::regex
  • DeepSeek-V3:开源多模态大模型的突破与未来
  • 树莓派卷积神经网络实战车牌检测与识别
  • doris:临时分区
  • 深度剖析八大排序算法
  • 简单理解精确率(Precision)和召回率(Recall)
  • 代码随想录day06
  • VScode如何使用deepseek详细教程
  • 某音小程序反编译签名加密静态分析
  • Mac下使用brew安装go 以及遇到的问题
  • 面试笔记-多线程篇
  • uv 安装包
  • hadoop生态 apache-Flume-1.8.0 的安装和 使用
  • 【Linux】如何创建一个可定时删除的文件
  • Kali Linux 渗透测试环境配置(Metasploit + Burp Suite)
  • 源路由 | 源路由网桥 / 生成树网桥
  • 面试笔记-基础篇
  • 网络安全辅助系统 框架图 网络安全模块
  • Vue中的的通信方式有几种?
  • vue2+vue3 HMCXY基础入门
  • ONE NET MQTT+HTTP多端控制
  • 实际时钟(RTC)的介绍
  • Qt最新热点
  • 一个可以在浏览器console内运行的极简爬虫,可列出网页内指定关键词的所有句子。
  • pandas+openpyxl处理Excel
  • 哪个命令查看docekr 和docker compose 安装成功了