3.2.3 钩子函数参数

前面介绍了钩子函数,那么它们有哪些参数呢?下面将对钩子函数的参数进行介绍。

(1)el:指令所绑定的元素,可利用它直接操作DOM。

(2)binding:指令所绑定的值,如下所示。

①name:指令名,不包括“v-”前缀。

②value:指令的绑定值。例如v-my-directive="2+1"中,绑定值为3。

③oldValue:指令绑定的前一个值,仅在update和componentUpdated钩子函数中可用。无论值是否改变都可用。

④expression:字符串形式的指令表达式。例如v-my-directive="2+2"中,表达式为“2+2”。

⑤arg:传给指令的参数,可选项。例如v-my-directive:vue中,参数为“vue”。

⑥modifiers:一个包含修饰符的对象。例如v-my-directive.vue.bar中,修饰符对象为{vue:true,bar:true}。

(3)VNode:Vue编译生成的虚拟节点。

(4)oldVnode:上一个虚拟节点,仅在update和componentUpdated钩子函数中可用。

提示:这些参数中,除了el以外,其他参数都看作是只读参数,即不要对它们进行修改。如果需要跨钩子使用它们,建议使用dataset来实现。

指令的参数值可以是动态的,代码如下:

    <p v-track:left="[dyLeft]">text </p>
       data(){
         return {
           dyLeft : 500
           }
       }