首页 > 其他 > 详细

私有定义指令

时间:2021-08-29 22:17:01      阅读:26      评论:0      收藏:0      [点我收藏+]

1.directives节点

2.在定义时不需要使用v-前缀

3.函数中的el指向绑定的元素 触发的函数必须是bind

 directives:{
        color:{
            bind(el){
                el.style.color="red"
            }
        }
    }

还可传值

  <p v-color="‘blue‘">jjjj</p> //传进去一个字符串颜色
<p v-color="color">jjj</p> //传进去一个data属性里面的值
    
//使用
data(){
    return {color:‘blue‘}
},
  directives:{
        color:{
            bind(el,binding){
                el.style.color=binding.value
            }
        }
    },

 

4.bind与update函数

bind与update都是自定义指令里的函数,其中bind函数只调用一次,在数据更新后不会再被触发。

而update函数会在每次DOM更新后被调用。

eg:没点击按钮前,v-color绑定在p上,网页加载完触发一次bind函数,当点击按钮后,改变color的值,更新了dom,调用update

<button @click="color=‘blue‘">点击改变颜色</button>
      <p v-color="color">jjjj</p>

 


directives:{ color:{ bind(el,binding){ el.style.color=binding.value console.log("调用了bind"); }, update(el,binding){ el.style.color=binding.value console.log("调用了update"); } } },

5.简写:在bind与update函数中内容一样的时候 可以简写这种形式。

directives:{
        color(el,binding){}
}

 

6.全局指令。

Vue.directive("指令名",function(el,binding){})


私有定义指令

原文:https://www.cnblogs.com/popopo/p/15191881.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!