数据监听
不会被监听到的变化
Vue3之前,对于数据变化的监听是通过Object.defineProperty方法实现的,因此数据对象中的新增属性,一些数组操作,数组的length属性都无法被Vue监听到。
可以被监听的变化
尤大大对如下数组方法进行了重写,因此Vue可以监听到通过这些方法引起的数据变化。
- push
- pop
- shift
- unshift
- splice
- sort
- reverse
使用Vue.set方法添加对象属性也可以被Vue监听到。
指令
基本指令注意事项
- v-text填充整个innerHTML
- v-once只会渲染一次
- v-pre这个元素和它的子元素会被忽略
- v-show控制元素的display属性、v-if控制元素的创建与销毁
指令修饰符
.lazy .number .trim
自定义指令
- 全局指令
Vue.directive('指令名称', {指令配置});
- 局部指令
与data、methods平级添加如下代码
directives: {
指令名称:{
指令配置
}
}
- 指令配置
自定义指令的配置是一个实现了下数这些回调函数的对象。
{
bind: function (el, binding,vnode,oldVnode) {}
inserted: function (el, binding,vnode,oldVnode) {}
update: function (el, binding,vnode,oldVnode) {}
componentUpdated: function (el, binding,vnode,oldVnode) {}
unbind: function (el, binding,vnode,oldVnode) {}
}
可以用自定义指令实现对拖拽、加载图片等代码的复用。
(文章会不定期更新,本人也希望志同道合的朋友加入)