写法一:
// 注册
Vue.directive('my-directive', {
bind: function () {
// 只调用一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。
// 比如添加事件监听器,或是其他只需要执行一次的复杂操作
},
inserted: function () {
// 被绑定元素插入父节点时调用 (仅保证父节点存在,但不一定已被插入文档中)。
},
update: function () {
// 所在组件的 VNode 更新时调用,但是可能发生在其子 VNode 更新之前。指令的值可能发生了改变,也可能没有。
},
componentUpdated: function () {
// 指令所在组件的 VNode 及其子 VNode 全部更新后调用。
},
unbind: function () {
// 只调用一次,指令与元素解绑时调用。
// 比如移除在 bind() 中添加的事件监听器
}
})
写法二:
// 注册 (指令函数)
Vue.directive('my-directive', function () {
// 这里将会被 `bind` 和 `update` 调用
})
// getter,返回已注册的指令
var myDirective = Vue.directive('my-directive')
网友评论