vue自定义指令钩子函数

官网地址

指令钩子函数参数:
在这里插入图片描述

示例:
全局钩子
1.把标题设置为彩虹色:
在main.js定义:

// 自定义指令,彩虹色
Vue.directive("rainbow",{
  bind(el){
    el.style.color = '#'+Math.random().toString(16).slice(2,8)
  }
})

在模板中使用:

<h3 v-rainbow>{{blob.title}}</h3>

2.改变容器的max-width和背景颜色
定义:

// 自定义指令:宽度调整
Vue.directive("width",{
  bind(el, binding){
    if (binding.value == 'wide'){
      el.style.maxWidth = "1260px";
    }else if (binding.value == 'narrow'){
      el.style.maxWidth = '768px'
    }
    if (binding.arg == "color"){
      el.style.backgroundColor = '#6677cc';
      el.style.padding = "20px";
    }
  }
})

使用:

<div id="show-blobs" v-width:color="'narrow'"></div>
<!--或者写成wide-->
<div id="show-blobs" v-width:color="'wide'"></div>

注意此处’wide’是字符串,用引号括起

局部钩子函数:
写在子组件的directives属性里:

directives:{
   "rainbow":{
       bind(el){
         el.style.color = '#'+Math.random().toString(16).slice(2,8)
       }
   }
}
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值