1. DOM元素(节点)
ref 写在标签上时:this.$refs.名字 获取的是标签对应的dom元素
ref 写在组件上时:这时候获取到的是 子组件(比如counter)的引用
2. ref
ref 写在标签上时:this.$refs.名字 获取的是标签对应的dom元素
ref 写在组件上时:这时候获取到的是 子组件(比如counter)的引用
3. vue中watch的handler,deep,immediate
使用watch监听数据时,有三个选项,handler,deep,immediate 。
3.1 handler方法
平时写法默认写handler, vue.js会处理这个逻辑,最终编译出来就是这个handler。
handler(newVal, oldVal) {
if (this.$refs.refHandle) {
let know = []
var children = this.$refs.refHandle.getCheckedNodes()
for(let i in children){
let knowledgeId = children[i].data.knowledgeId
know.push(knowledgeId)
}
this.$emit("getKnow", newVal)
if (children[0].children.length < 1) {
//判断有没有下级
this.$refs.refHandle.dropDownVisible = false //监听值发生变化就关闭它
}
}
},
3.2 immediate属性
该值默认是false。
在进入页面时,第一次绑定值,不会立刻执行监听,只有数据发生改变才会执行handler中的操作 。
immediate为true时,handler会在第一次绑定值时就触发。
3.3 deep属性
vue是不能检测到对象属性的添加或删除,使用watch监听一个对象时,除非是直接重新给对象赋值,否则是不能监听到对象里的值的变化的.
deep就是用来进行深度监听的。