首页 > 其他分享 >Vue3 Refs模板

Vue3 Refs模板

时间:2023-08-29 11:44:06浏览次数:38  
标签:vue Refs value Vue3 msg btn ref 模板

Refs模板用来获取页面DOM元素或者组件,类似于Vue2.X中的$refs。Refs模板的使用方法如下。

(1)在setup()中创建ref对象,其值为null。

(2)为元素添加ref属性,其值为步骤(1)中创建的ref对象名。

(3)完成页面渲染之后,获取DOM元素或者组件。

 

src\views\HomeView.vue

<template>
    <div class="home">
        <h1 ref="msg2">Hello Vue3</h1>
        <ComRef ref="msg3"></ComRef>
    </div>
</template>

<script setup>
    import HelloWorld from '@/components/HelloWorld.vue'
    import ComRef from '@/components/ComRef.vue'
    import {ref, onMounted} from 'vue'


    var msg2 = ref(null);
    var msg3 = ref(null);
    onMounted(() => {
        console.log(msg2.value) // msg2.value获取到的就是h1标签
        msg2.value.style.color = 'grey'

        console.log(msg3.value)
        console.log(msg3.value.msg)
        msg3.value.btn()
    })

</script>

src\components\ComRef.vue

<template>
	<span>
		<p>ComRef.vue: {{msg}}</p>
	</span>
</template>

<script setup>
    import {ref} from "vue"

    var msg = ref("Hello Refs")

    var btn = () => {
        console.log("btn:" + msg.value)
    }

    defineExpose({
        msg,
        btn
    })

</script>

  

 

标签:vue,Refs,value,Vue3,msg,btn,ref,模板
From: https://www.cnblogs.com/ooo0/p/17664353.html

相关文章

  • Vue3 依赖注入 provide() inject()
    依赖注入就是父组件向后代组件传递数据,可以向子组件传递数据,也可以向孙子组件传递数据。在父组件中使用provide()函数,向后代传递数据。在后代组件中使用inject()函数,获取传递过来的数据。 provide()​提供一个值,可以被后代组件注入。inject()​注入一个由祖先组件或整个应......
  • Vue3 watch() 监听
    watch()​侦听一个或多个响应式数据源,并在数据源变化时调用所给的回调函数 <template> <span> <p>{{num}}</p> <p>{{num2}}</p> <button@click="num++">+1</button> <button@click="addNum">+1</button> &......
  • vue3 setup访问子组件的 DOM 元素
    使用setup的情况下这个时候我们无法使用this,注意在setup中setup是封闭的,不会将子组件事件暴露出来,所以要用defineExpose(),将需要在父组件调用的函数暴露出去,子组件代码如下:<template><divref="domRef"><div>哈哈哈哈</div></div></template><scriptsetuplang="t......
  • Vue3 computed() 计算属性
      <template> <span> <p>普通属性:{{num}}</p> <p>计算属性-只读:{{numAdd}}</p> <p>计算属性-可读写:{{numAdd2}}</p> <button@click="numUpdate">修改普通属性</button> <button@click="numAddUpda......
  • vue3 + vite 动态引入不被打包的静态资源
    在开发中,通常会把一些静态资源放在assets文件夹下,但是assets目录下的内容是需要vite编译打包的,所以如果只是引用assets目录下的资源时,使用绝对路径、相对路径均可。但是,在开发中,我们经常会引用一些不被打包的资源,此时该资源是放在public目录下的,那么在引用时,路径的写法如下:不......
  • 代码模板
    今天有空来专门总结一下代码模版,顺便定制一张代码模版鼠标垫,哦吼!!!↑这就是预期效果啦!!!下面开始总结算法模版:素数筛(线性筛)时间复杂度\(O(N)\)voidprimes(intn){//线性筛区间[1,n]的素数 memset(isprime,true,sizeof(isprime));//全部标记为素数isprime[1]=false;m......
  • vue3 路由-导航守卫
    假设用户登录,在地址栏输入了Login,人性化的设计应该自动回到home页面。或者用户输入不存在路由,也应该回到home页面。这个时候需要用到vue-router的导航守卫功能。在我们封装的router.js文件下添加router.beforeEach……constrouter=createRouter({...})router.beforeEach......
  • Galaxy Studio星河工作室于8月26日正式使用Canva可画网页版对室徽进行重绘!还开放了名
    GalaxyStudio星河工作室于8月26日正式使用Canva可画网页版对室徽进行重绘!还开放了名片模板?据了解,GalaxyStudio星河工作室室长于8月26日对使用Canva可画网页版室徽正式重绘!新室徽到底怎么样呢?让大家都来看看吧!怎么样?不错吧!对了!还有一个名片模板,想要使用的成员可以找QQ2789617......
  • Qt开发思想探幽]QObject、模板继承和多继承
    @目录[Qt开发探幽]QObject、模板继承和多继承1.QObject为什么不允许模板继承:2.如果需要使用QObject进行多继承的话,子对象引用的父类链至多只能含有一个QObject3.如果使用模板类和QObject做多继承,编译不通过问题场景[Qt开发探幽]QObject、模板继承和多继承当我们在用Qt开发一个......
  • Vue3 使用Vuex与Vuex-persistedstate
    Vuex与vuex-persistedstateVuex是什么?Vuex是一个用于Vue.js应用程序的状态管理模式。它使得在应用程序中的所有组件之间共享和访问状态变得非常简单。Vuex将应用程序的状态存储在一个单一的存储库中,并且提供了一组用于更改状态的API。这使得状态管理变得更加可预测和易于调试。......