美文网首页
Vue3中的Refs和Ref

Vue3中的Refs和Ref

作者: 技术小王 | 来源:发表于2021-11-03 19:18 被阅读0次

小编同样和大家分享关于Vue3中的数据相应的问题,之前,我们写过这样的例子。大家还可以关注我的微信公众号,蜗牛全栈。

Vue.createApp({
    template: `<div>{{ nameObj.name }}</div>`,
    setup() {
        const { reactive } = Vue
        const nameObj = reactive({name:'lilei',age:18})
        
        setTimeout(() => {
            nameObj.name = 'hanmeimei'
        },2000)
        return {
            nameObj
        }
    }
}).mount('#root')

这个时候我们可能联想到了es6中关于解构赋值的内容,我们是不是可以将上面例子中的nameObj通过结果解构的方式获取内部的name,然后直接将name返回呢?也就是将代码写成这样

Vue.createApp({
    template: `<div>{{ name }}</div>`,
    setup() {
        const { reactive,toRefs } = Vue
        const nameObj = reactive({name:'lilei',age:18})
                let { name } = nameObj
        setTimeout(() => {
            name.value = 'hanmeimei'
        },2000)
        return {
            name
        }
    }
}).mount('#root')

在实际运行中,我们发现,页面上的内容并没有变成hanmeimei,这个时候,我们需要引入Vue3中的另外一个内容,我们应该把代码修改成这样,才能实现数据和页面的响应式

Vue.createApp({
    template: `<div>{{ name }}</div>`,
    setup() {
        const { reactive,toRefs } = Vue
        const nameObj = reactive({name:'lilei',age:18})
        let { name } = toRefs(nameObj)
        setTimeout(() => {
            name.value = 'hanmeimei'
        },2000)
        return {
            name
        }
    }
}).mount('#root')

同样,和toRefs很类似的还有toRef,代码实例是这样的

Vue.createApp({
    template: `<div>{{ age }}</div>`,
    setup() {
        const { reactive,toRef } = Vue
        const nameObj = reactive({name:'lilei'})
        let age = toRef(nameObj,'age')
        setTimeout(() => {
            age.value = 'hanmeimei'
        },2000)
        return {
            age
        }
    }
}).mount('#root')

又是前端进步的一天,一起加油!

相关文章

  • Vue3中的Refs和Ref

    小编同样和大家分享关于Vue3中的数据相应的问题,之前,我们写过这样的例子。大家还可以关注我的微信公众号,蜗牛全栈...

  • vue3 使用$ref

    vue3 使用 $ref ,不是那个$refs 这个当前还是实验性api 主要是解决ref修改值需要.value...

  • 父组件访问子组件的方式$refs

    一、$refs的使用 $refs和ref是一起使用的,通过ref给子组件绑定一个id,使用this.$refs.i...

  • vue中的 ref 和 $refs

    你应该学过jquery吧,没用vue之前,我前端框架是用JS+Jquery+Bootstrap,因为不是数据驱动,...

  • Vue中获取dom元素之ref

    ref Vue中可以通过ref属性绑定Dom元素,通过this.$refs获取页面中的Dom元素 例:

  • VUE is ref 和 $refs

    is关键字 先看一段代码 看展示的源码发现一个问题:hello world 代码中定义在表格内的,实际上显示在表格...

  • vue ref 和 refs

    起因是要用到element 里面table的方法 想用其中的clearFilter(),却不知道怎么调用,查了一下...

  • 10-ref|refs

    总结ref与refs的用法有几点:ref可以绑定同在一个实例上的任何自定义组件和标签。均可以通过$refs.xx ...

  • Vue3 Ref 与 Reactive的区别

    Vue3 在组件中使用ref()或reactive()都可以创建响应式数据 Vue2 中操作 Vue3 ref r...

  • react组件引用传值

    组件引用 ref:需要引用的组件 refs:父级中引用的所有ref组件 子组件中的ref不能重复,如果重复了在re...

网友评论

      本文标题:Vue3中的Refs和Ref

      本文链接:https://www.haomeiwen.com/subject/nbuczltx.html