启动命令(vue启动命令)墙裂推荐
在Vue中,启动e启指令都是命令以 v-xxx 命令,因此自定义指令也是动命如此自定义指令时,指令名称不需要加前缀v-,令墙裂推但在调用的时候一定要加前缀v-自定义一个
在Vue中,指令都是启动e启以 v-xxx 命令,因此自定义指令也是命令如此自定义指令时,指令名称不需要加前缀v-,动命但在调用的时候一定要加前缀v-自定义一个获取焦点的指令 v-focus//定义一个全局的指令(directive:指令)
//参数1为指令名称,定义的令墙裂推时候,不需要加 v- ,启动e启调用时需要v- ,命令//参数2是对象,对象中有指令相关函数,动命在特定时候运行,令墙裂推 Vue.directive(focus,启动e启{ //获取当前指令(v-focus)绑定的元素e,e.focus()方法在绑定元素插入到DOM中时调用
inserted:function(e){ e.focus() } }) //等同于js中: var e = document.getElementById("e")// e.focus()
//局部指令定义,命令vm实例中directives:{ focus:{ inserted:function(e){ e.focus() } } }钩子函数:
bind:只调用一次,第一次绑到到元素时调用,动命一般用在初始化中,在inserted之前,此时父节点为null,在dom树绘制之前调用,一般用作初始化属性(样式、元素属性)的设置,绑定后属性就已经在当前元素中了。
inserted:被绑定元素插入到父节点时调用,父节点存在即可,只调用一次,在dom树绘制之后调用,一般用作初始化方法(js的行为方法)的设置,绑定到DOM中后立即执行一次updated:所在的组件更新时调用,在。
componentUpdated之前调用,更新前的状态,多次调用componentUpdated:所在的组件及及子元素全部更新时调用,更新后的状态,多次调用unbind:只调用一次,指令与元素解绑时调用
Vue.directive(指令名称,{ //指令绑定到元素上的时候会立即执行,一般用作初始化,只执行一次,当指令刚被绑定到元素的时候,还没有插入到DOM树中去//绑定时不管有没有插入到DOM中,已经有了value="" 和 style="color:red"的属性
//bind因此可以做一些初始化属性的设置bind:function (e) { e.value = "文本框初始值" e.style.color =
red }, inserted:function (e) { //元素插入到DOM树中后会立即执行一次,可作初始化方法的设置 e.focus() },
updated:function (e) { //vnode更新的时候会执行,可触发多次 }, componentUpdated
:function (e) { }, unbind:function (e) { } })
"text" v-focus>钩子函数参数:el:指令被绑定的当前元素,即当前指令所在的元素,此参数名可以变更,其他参数名不能变更binding:name:指令名,不包括v-前缀value:指令绑定值,v-color=" blue ","1+1"为2
oldValue:指令绑定的前一个值expression:指令绑定值的字符串形式"1+1"就是"1+1"而不是2arg:传递给指令的参数v-color:bluemodifiers:包含修饰符对象 v-mydirective.foo.bar
modifiers为{ foo.true,bar,true}3.vnode:vue编译器生成的虚拟节点4.oldVnode:上一个虚拟节点Vue.directive("color",{ bind:
function(e,binding) { e.style.color = binding.value e.style.color = binding.
arg } }) //注意单引号,否则blue为data中数据
type="text" v-focus v-color:blue>自定义指令的简写如果只有bind或updated钩子函数,则可以简写Vue.directive("color", (e,binding) => { e.style.color = binding.value e.style.color = binding.
arg }) //注意单引号,否则blue为data中数据 <
inputtype="text" v-focus v-color:blue>
免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186