所有的钩子函数将被复制到实际的指令对象中,钩子内 this 指向这个指令对象。这个对象暴露了一些有用的属性:


  el: 指令绑定的元素。
  vm: 拥有该指令的上下文 ViewModel。
  expression: 指令的表达式,不包括参数和过滤器。
  arg: 指令的参数。
  name: 指令的名字,不包含前缀。
  modifiers: 一个对象,包含指令的修饰符。

  descriptor: 一个对象,包含指令的解析结果。


  1. <div id="demo" v-demo:hello.a.b="msg"></div>
Vue.directive('demo', {
  bind: function () {
    console.log('demo bound!')
  },
  update: function (value) {
    this.el.innerHTML =
      'name - '       + this.name + '<br>' +
      'expression - ' + this.expression + '<br>' +
      'argument - '   + this.arg + '<br>' +
      'modifiers - '  + JSON.stringify(this.modifiers) + '<br>' +
      'value - '      + value
  }
})
var demo = new Vue({
  el: '#demo',
  data: {
    msg: 'hello!'
  }
})



Logo

前往低代码交流专区

更多推荐