这篇文章给大家分享的是有关vue中v-bind:风格效果的自定义指令是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
vue的优点
vue具体轻量级框架,简单易学,双向数据绑定,组件化,数据和结构的分离,虚拟DOM,运行速度快等优势,vue中页面使用的是局部刷新,不用每次跳转页面都要请求所有数据和DOM,可以大大提升访问速度和用户体验。
<>强自定义指令强>
1。什么是自定义指令
以v -为前缀,然后加上自己定义好的名字组成的一个指令就是自定义指令。为什么要有自定义指令呢?在有些时候,你仍然需要对普通的DOM元素进行底层的操作,这个时候就可以用到自定义指令。
2。自定义指令的语法
全局自定义指令
//,注册一个全局自定义指令,“v-focus” Vue.directive(& # 39;关注# 39;,,{//大敌;当被绑定的元素插入到,DOM 中时…… ,插入:function (el), {//,才能聚焦元素 el.focus才能() ,} })
局部自定义指令
指令:,{ ,专注:{//才能,指令的定义 ,,插入:function (el), { ,,el.focus () ,,} ,} }
3。钩子函数
看了上述的代码,如果你从来没接触过这类内容,你可能会很生疏、下面我给大家讲讲其每一步所需要掌握的东西
首先是钩子函数:
<代码> 代码>:绑定只会调用一次的函数,表示指令第一次绑定元素时调用
<代码> 代码>:插入被绑定元素插入到父节点时调用(仅保证父节点存在,但不一定已被插入文档中)。
<代码> 代码>更新:所在组件的VNode更新时调用,但是可能发生在其子VNode更新之前。指令的值可能发生了改变,也可能没有。
<代码> componentUpdated> 代码:指令所在组件的VNode及其子VNode全部更新后调用。
<代码>解开> 代码:只调用一次,指令与元素解绑时调用。
然后我们看看钩子函数中的参数列表:
<代码> el> 代码:指令所绑定的元素,可以用来直接操作DOM。
<代码> 代码>绑定:一个对象,包含以下属性:
<代码>名称> 代码:指令名,不包括<代码> v -> 代码前缀。
<代码> 代码>价值:指令的绑定值,例如:
<代码> v-my-directive=? + 1”代码>中,绑定值为<代码> 2> 代码。
<代码> oldValue> 代码:指令绑定的前一个值,仅在<代码>更新代码>和<代码> componentUpdated 代码>钩子中可用。无论值是否改变都可用。代码> <代码>表达式:字符串形式的指令表达式。例
如<代码> v-my-directive=? + 1”代码>中,表达式为<代码>“1 + 1”代码>。<代码>参数> 代码:传给指令的参数,可选。
例如<代码> v-my-directive: foo 代码>中,参数为<代码>“foo" 代码>。
<代码>修改> 代码:一个包含修饰符的对象,例如:<代码> v-my-directive.foo。酒吧代码>中,修饰符对象为<代码> {foo:真的,酒吧:真}代码>。<代码> vnode> 代码:Vue编译生成的虚拟节点。
<代码> oldVnode> 代码:上一个虚拟节点,仅在<代码>更新代码>和<代码> componentUpdated 代码>钩子中可用。
除了el 代码> <代码>之外,其它参数都应该是只读的,切勿进行修改。如果需要在钩子之间共享数据,建议通过元素的数据集<代码> 代码>来进行。
下面我们来分析几个简单的钩子函数,及其参数
代码如下:(看完代码我再将其)
& lt; div id=癮pp"比; ,& lt; span  v-mmm=& # 39;{颜色:颜色,,字形大小:“20 px"} & # 39;在绑定的对象形式& lt;/span> ,& lt; br> ,& lt; button  @click=& # 39; changeStyle& # 39;在改变颜色& lt;/button> & lt;/div> & lt; script> ,const vm =, Vue ({new el才能:& # 39;#应用# 39; ,,数据:{ ,,,颜色:& # 39;青色# 39; ,,,style1:{颜色:& # 39;lightblue& # 39;}, ,,,style2:{字形大小:“20 px"} ,,}, 指令才能:{ ,,嗯,,{ ,,,绑定(el,绑定),{ ,,,,//,binding.value =,{颜色:颜色,,字形大小:“20 px"} ,,,,如果(binding.value.constructor ===,对象),{ ,,,,,种(binding.value) .forEach (key =祝辞,{ ,,,,,,el.style(例子),=,binding.value(例子); ,,,,,}) ,,,,} ,,,} ,,} ,,}, 方法:才能,{ ,,changeStyle (), { ,,,this.color =, & # 39; lightpink& # 39; ,,} ,,}, ,}) & lt;/script>vue中v-bind:风格效果的自定义指令是什么