当前位置: 首页 > Web前端 > vue.js

directives在vue中的应用

时间:2023-03-31 22:56:36 vue.js

directives类型:Objectvue3中自定义directives的方法组件中使用directivesexportdefault{data(){return{};},directives:{'local-test':function(el,binding,vnode){/**el可以获取当前的dom节点,进行编译,还可以操作事件**//**binding是指一个对象,一般不用**//**vnode是vue编译生成的虚拟节点**/el.style.border="1pxsolidred";//操作style的所有styleconsole.log(el.value);//获取v-model的值console.log(el.dataset.name)//data-name绑定值,需要el.dataset才能获取console.log(vnode.context.$route);//获取当前路由信息}},components:{},filters:{},}全局应用自定义指令的钩子函数的参数el:指令绑定的元素,可用于直接操作DOM.binding:包含以下属性的对象:name:指令的名称,不包括v-前缀。value:指令的绑定值,例如:在v-my-directive="1+1"中,绑定值为2。oldValue:指令绑定的前一个值,仅在update和componentUpdated钩子中可用。无论值是否已更改均可用。expression:字符串形式的指令表达式。例如v-my-directive="1+1",表达式为1+1。arg:传递给命令的参数,可选。例如,在v-my-directive:foo中,参数是“foo”。修饰符:包含修饰符的对象。例如,在v-my-directive.foo.bar中,修饰符对象是{foo:true,bar:true}。vnode:Vue编译生成的虚拟节点。oldVnode:最后一个虚拟节点,仅在update和componentUpdated钩子中可用。自定义指令可以全局应用。编写一个v-has-permissions指令来控制按钮的显示。