Vue中内置了很多的指令,如v-model、v-show、v-html等,但是有时候这些指令并不能满足我们,或者说我们想为元素附加一些特别的功能,这时候,我们就需要用到vue中一个很强大的功能了—自定义指令。
在开始之前,我们需要明确一点,自定义指令解决的问题或者说使用场景是对普通 DOM 元素进行底层操作,所以我们不能盲目的胡乱的使用自定义指令。
1. 注册
假设我们需要自定义一个 v-focus 指令,即在 或 标签初始化时获得焦点。
注册自定义指令分为全局注册与局部注册两种:
全局注册:
// 注册一个全局自定义指令 `v-focus`
Vue.directive('focus',{
// 当被绑定的元素插入到 DOM 中时……
inserted: function (el