自定义指令
vue提供了很多内置的指令,比如v-if ,v-show,v-model等等,通常情况下,我们是没有必要去自定义指令的,代码复用和抽象的主要形式是组件。但是呢,有的情况下,我们需要对普通的DOM进行底层操作,这个时候就需要用到自定义指令。
两个常见的示例
1.输入框自动聚焦
原生的input组件有autofocus这个属性可以让输入框自动聚焦,但是这个属性有兼容性问题(autofocus 在移动版 Safari 上不工作),一个理想的方案就是使用自定义指令去直接触达该input元素,令其聚焦。
这里采用全局注册的方式:
Vue.directive('focus', {
// 当被绑定的元素插入到 DOM 中时……
inserted: function (el) {
// 聚焦元素
el.focus()
}
})
使用的时候:
<</