全局定义
例如要定义一个指令:v-upper-text
把字母全转为大写
Vue.directive
接收两个参数,第一个参数为指令名字,第二个参数为函数- 第二个参数为函数,可接收四个变量,常用的为前两个(el和binding)
- el:指令所绑定的元素,可以用来直接操作 DOM。
- binding:一个对象,可获取指令接收到的值
Vue.directive('upper-text', function(el,binding){
el.innerText = binding.value.toUpperCase()
})
局部定义
- directives 和 data 同级
directives:{
'upper-text':function(el,binding){
el.innerText = binding.value.toUpperCase()
}
}
简写方式:
directives:{
'upper-text'(el,binding){
el.innerText = binding.value.toUpperCase()
}
}
除了 el 之外,其它参数都应该是只读的,切勿进行修改。如果需要在钩子之间共享数据,建议通过元素的 dataset 来进行。