自定义指令是指当一些指令不够用的时候需要自己自定义一些指令来实现对应的功能
自定义指令分为局部和全局的,和过滤器filter一样,局部的可以一次性定义多个指令,全局的实例化一次只能定义一个指令
在打开这个页面后还没点击过任何内容,这个输入框就应当还是处于聚焦状态。现在让我们用指令来实现这个功能:
写法:directive(自定义名字,{inserted:函数})
全局定义:
// 注册一个全局自定义指令 `v-focus`
Vue.directive('focus', {
// 当被绑定的元素插入到 DOM 中时……
// inserted内置的,名字不能改
inserted: function (el) {
// 聚焦元素
el.focus()
}
})
局部定义:
directives: {
focus: {
// 指令的定义
inserted: function (el) {
el.focus()
}
}
}
然后你可以在模板中任何元素上使用新的 v-focus property,如下:
<input v-focus>
以上参考官网写法