函数式:

    1. directives : {
    2. text-reverse : function(element, binding){
    3. // element 是真实 dom 对象(可以通过 element instanceof HTMLElement 判断)
    4. // binding 是绑定的对象
    5. element.innerText = binding.value.split(‘’).reverse().join(‘’)
    6. }
    7. }
    8. <span v-text-reverse=”msg”></span>

    函数调用时机:
    第一时机:模板初次解析时(元素与指令初次绑定)。
    第二时机:模板重新解析时。
    对象式:可以使用对象式完成更加细致的功能。

    1. directives : {
    2. bind-parent : {
    3. // 元素与指令初次绑定时自动调用。
    4. bind(element, binding){},
    5. // 元素已经被插入页面后自动调用。
    6. inserted(element, binding){},
    7. // 模板重新解析时被自动调用。
    8. update(element, binding){}
    9. }
    10. }

    自定义指令的函数中的 this 是 window。
    以上是局部指令,全局指令怎么定义:
    对象式:

    1. Vue.directive(‘bind-parent’, {
    2. bind(element, binding){},
    3. inserted(element, binding){}, update(element, binding){}
    4. })

    函数式:

    1. Vue.directive(‘text-reverse’, function(element, binding){})