钩子函数
bind:初始化时调用一次
update:初始化之后调用一次,
以后每次数据变化时调用
unbind:指令从元素上解除了调用
指令实例属性
name:当前指令的名称
expression:指令表达式,即
v-xxx="expression"中的expression
不包括参数或过滤器,如:
v-xxx="expression | filterA",只包括expression
arg:参数,如:
v-xxx:href.a.b,获取到的是href,不包括后面的修饰符
modifiers:指令的修饰符,此值为键值对象,如:
v-xxx:href.a.b,获取到的是{"a":true,"b":true}
descriptor:指令解析的结果
对象字面量:
<div v-my-directive="{a:1}">
注意:对象字面量与twoWay同时使用时会报警告错误,因为对象字面量对象无法双向
字面修饰符:
用于将字符串当作参数传递指令
<div v-demo.literal="a in b"></div>
元素指令:
Vue.elementDirective()
params
动态params,可以使用paramsWathcer临控
deep:当指令值为对象时,设置此值为true,则当对象属性发生改变时,触发update挂钩
twoWay:当需要在指令内操作vue实例时(this.set()),将此项设置为true
acceptedStatement:true,允许使用内联语句
terminal指令
priority:3000 指令优先级,
普通指令优先级1000,
terminal指令优先级2000,
流程指令v-if v-for始终拥有最高优先级