1、解释函数
directive全局指令:使用自定义全局指令实现文本框获取焦点功能字体
2、自定义全局指令实例spa
<!-- 注意: Vue中全部的指令,在调用的时候,都以 v- 开头 --> <input type="text" class="form-control" v-model="keywords" id="search" v-focus >
// 使用 Vue.directive() 定义全局的指令 v-focus // 其中:参数1 : 指令的名称,注意,在定义的时候,指令的名称前面,不须要加 v- 前缀, // 可是: 在调用的时候,必须 在指令名称前 加上 v- 前缀来进行调用 // 参数2: 是一个对象,这个对象身上,有一些指令相关的函数,这些函数能够在特定的阶段,执行相关的操做 Vue.directive('focus', { // 注意: 在每一个 函数中,第一个参数,永远是 el ,表示 被绑定了指令的那个元素,这个 el 参数,是一个原生的JS对象 inserted: function (el) { // inserted 表示元素 插入到DOM中的时候,会执行 inserted 函数【触发1次】 el.focus() // 和JS行为有关的操做,最好在 inserted 中去执行,放置 JS行为不生效 }, })
3、自定义局部指令实例code
<h3 v-color="'pink'" v-fontweight="900" v-fontsize="50">{{ dt | dateFormat }}</h3>
directives: { // 自定义私有指令 'fontweight': { // 设置字体粗细的 bind: function (el, binding) { el.style.fontWeight = binding.value } }, 'fontsize': function (el, binding) { // 注意:这个 function 等同于 把 代码写到了 bind 和 update 中去 el.style.fontSize = parseInt(binding.value) + 'px' } }
4、函数简写orm
在不少时候,你可能想在 bind
和 update
时触发相同行为,而不关心其它的钩子。好比这样写:对象
Vue.directive('color-swatch', function (el, binding) { el.style.backgroundColor = binding.value })