Vue快速入门(三:Vue.js 2.0中指令的变化)《快乐Vu
2019-02-26 本文已影响0人
Negen
Vue.js 2.0中指令的变化
ue.js 2.0 中的指令功能更为单一,很多和组件重复的功能和作用都进行了删除,指令也更专注于本身作用域的操作,而尽量不去影响指令外的 DOM 元素及数据。
新钩子函数
钩子函数中新增了 componentUpdated
何时调用: 当整个组件都完成了 update(DOM都更新)后调用该钩子函数,无论指令接收的参数是否发生变化。
钩子函数实例和参数变化
在 Vue.js 2.0 中取消了指令实例这一概念,即在钩子函数中的 this 并不能指向指令的相关属性。指令的相关属性均通过参数的形式传递给钩子函数。
update函数触发变化
1、指令绑定 bind 函数执行后不直接调用 update 函数。
2、只要组件发生重绘,无论指令接受的值是否发生变化,均会调用 update 函数。如果需要过滤不必要的更新,则可以使用 binding.value == binding.oldValue 来判断。
参数binding对象
钩子函数接受的参数 binding 对象为不可更改,强行设定 binding.value 的值并不会引起实际的改动。如果非要通过这种方式进行修改的话,只能通过 el 直接修改 DOM 元素。