let vm = new Vue({
        el:'#app',
        
        data:{msg:'hello',arr:[1,2,3]},
        mounted(){
            this.$nextTick(()=>{
                console.log(vm);
            })
        }
    })
<div id="app">
    <p ref="myp">{{msg}}</p>
    <div ref="warp">
    <div v-for="a in arr" ref="mydiv">a</div>
</div>
</div>
this.$data: vm上的数据

this.$watch:监控

this.$el:当前el元素

this.$set:后加的属性实现响应式变化

this.$nextTick :异步方法,等待渲染dom完成后来获取vm

this.$refs:被用来给元素或子组件注册引用信息。引用信息将会注册在父组件的 $refs 对象上。如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素;如果用在子组件上,引用就指向组件实例

 let vm = new Vue({
        el:'#app',
        data:{msg:'hello'},
        mounted(){
            console.log(this.$refs.myp)//无论有多少个只能拿到一个
            console.log(this.$refs.mydiv)//可以拿到一个数组
        this.arr=[1,2,3,4]
 console.log(this.$refs.wrap)
debugger  //这里debugger的话只能看到warp打印出来的是有3个,因为dom渲染是异步的。所以如果数据变化后想获取真实的数据的话需要等页面渲染
完毕后在获取,就用$nextTick
        }    })

Logo

前往低代码交流专区

更多推荐