博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue:自定义指令
阅读量:5825 次
发布时间:2019-06-18

本文共 1355 字,大约阅读时间需要 4 分钟。

{
{num}}
Vue.directive('lang', function(el, binding){    console.log(el);    console.log(binding);    el.style='color:' + binding.value;});
let vm = new Vue({    el: '#app',    data: {        num: 1,        color: 'red'    },    methods: {        add(){            this.num++;        }    }});

el: 指令所绑定的元素,可以用来直接操作DOM。

binding: 一个对象,包含指令的很多信息。

vnode: Vue编译生成的虚拟节点。

{
{num}}
function unbind() {    vm.$destroy();//另外起一个方法解绑}Vue.directive('lang', {//五个注册指令的钩子函数    bind: function(){//被绑定        console.log('1 - bind');    },    inserted: function(){//绑定到节点        console.log('2 - inserted');    },    update: function(){//组件更新        console.log('3 - update');    },    componentUpdated: function(){//组件更新完成        console.log('4 - componentUpdated');    },    unbind: function(){//解绑        console.log('5 - bind');    }});let vm = new Vue({    el: '#app',    data: {        num: 1,        color: 'red'    },    methods: {        add(){            this.num++;        }    }});

说明:

1、bind:只调用一次,指令第一次绑定到元素时调用,用这个钩子函数可以定义一个绑定时执行一次的初始化动作。

2、inserted:被绑定元素插入父节点时调用(父节点存在即可调用,不必存在于document中)。

3、update:被绑定于元素所在的模板更新时调用,而无论绑定值是否变化。通过比较更新前后的绑定值,可以忽略不必要的模板更新。

4、componentUpdated:被绑定元素所在模板完成一次更新周期时调用。

5、unbind:只调用一次,指令与元素解绑时调用。

转载于:https://www.cnblogs.com/samve/p/9250332.html

你可能感兴趣的文章
java中的Volatile关键字
查看>>
前端自定义图标
查看>>
sqlserver 取取月初月末和月份间隔
查看>>
Vagrant的一个BUG - 不支持'change_host_name'
查看>>
实验二
查看>>
MongoDB数据库迁移
查看>>
独立开发一个云(PaaS)的核心要素, Go, Go, Go!!!
查看>>
java的继承性
查看>>
tomcat 实例
查看>>
MyBatis使用DEMO及cache的使用心得
查看>>
网站文章如何能自动判定是抄袭?一种算法和实践架构剖析
查看>>
【OpenCV学习】滚动条
查看>>
ofo用科技引领行业进入4.0时代 用户粘性连续8个月远甩摩拜
查看>>
无法拒绝|华为618最高优惠1000元 更有梅西签名球衣奉送
查看>>
乐信Q2季报图解:调整后净利过5亿 同比增长776%
查看>>
兰州青年志愿者“中西合璧”玩快闪 温暖旅客回家路
查看>>
计划10年建10万廉价屋 新西兰政府:比想象中难
查看>>
甘肃发首版《3D打印职业教育教材》:校企合作育专才
查看>>
内蒙古2019年精准脱贫新“目标”:20个贫困旗县全部摘帽
查看>>
韩国国会议员涉嫌投机炒房 检方称已立案调查
查看>>