对Vue2 自定义全局指令Vue.directive和指令的生命周期介绍


Posted in Javascript onAugust 30, 2018

在Vue中,自定义指令的生命周期,有5个事件钩子:1-bind 被绑定, 2-inserted 被插入, 3-update 开始更新, 4-componentUpdated 更新完成,5-unbind 解除绑定。我们可以设置指令在某一个事件发生时的具体行为。

例子如下:

页面一进后,

在控制台中设置一个新值:通过控制台设置的新name

再设置一个新值:通过控制台设置的新name

最后点击解绑,解除绑定(解除绑定之后,id="app"的Dom和vm的实例之间解除mvvm的绑定关系):

对Vue2 自定义全局指令Vue.directive和指令的生命周期介绍

代码:

<h1>自定义指令及其生命周期</h1>
<div id="app">
 <div v-mydirective.modify1.mofify22="mycolor">
  {{ name }}
 </div>
</div>
<button onclick="unbindApp()">解绑</button>
<script>
 function unbindApp() {
  vm.$destroy();
 }
 Vue.directive("mydirective",{
  bind:function (el, binding, vnode) { //1-被绑定
   console.log("1-bind 被绑定");
   console.log("el:",el);
   console.log("binding:",binding);
   console.log("vnode:",vnode);
   el.style.color=binding.value;
  },
  inserted:function (el, binding, vnode) { //2-被插入
   console.log("2-inserted 被插入");
  },
  update:function (el, binding, vnode) { //3-更新
   console.log("3-update 更新");
  },
  componentUpdated:function (el, binding, vnode) { //4-更新完成
   console.log("4-componentUpdated 更新完成");
  },
  unbind:function (el, binding, vnode) { //5-解绑
   console.log("5-unbind 解绑");
  }
 });
 
 var vm=new Vue({
  el:"#app",
  data:{
   mycolor:"blue",
   name:"mydirective指令"
  }
 });
 
</script>

以上这篇对Vue2 自定义全局指令Vue.directive和指令的生命周期介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
拖动Html元素集合 Drag and Drop any item
Dec 22 Javascript
Javascript 获取链接(url)参数的方法
Feb 15 Javascript
EXT窗口Window及对话框MessageBox
Jan 27 Javascript
33个优秀的jQuery 教程分享(幻灯片、动画菜单)
Jul 08 Javascript
js获取IP和PcName(IE)在vs中可用
Aug 02 Javascript
javascript实现可拖动变色并关闭层窗口实例
May 15 Javascript
JavaScript中的this到底是什么(一)
Dec 09 Javascript
JS实现隐藏同级元素后只显示JS文件内容的方法
Sep 04 Javascript
JavaScript纯色二维码变成彩色二维码
Jul 23 Javascript
JavaScript设置名字输入不合法的实现方法
May 23 Javascript
vue实现的请求服务器端API接口示例
May 25 Javascript
Vue中component标签解决项目组件化操作
Sep 04 Javascript
原生JS实现简单的倒计时功能示例
Aug 30 #Javascript
JavaScript fetch接口案例解析
Aug 30 #Javascript
vue组件表单数据回显验证及提交的实例代码
Aug 30 #Javascript
原生JS实现的简单小钟表功能示例
Aug 30 #Javascript
使用Node搭建reactSSR服务端渲染架构
Aug 30 #Javascript
webpack4+Vue搭建自己的Vue-cli项目过程分享
Aug 29 #Javascript
JS实现的input选择图片本地预览功能示例
Aug 29 #Javascript
You might like
全国FM电台频率大全 - 7 吉林省
2020/03/11 无线电
thinkphp中ajax与php响应过程详解
2014/12/08 PHP
php实现PDO中捕获SQL语句错误的方法
2017/02/16 PHP
Extjs学习笔记之五 一个小细节renderTo和applyTo的区别
2010/01/07 Javascript
jquery选择器(常用选择器说明)
2010/09/28 Javascript
jQuery最佳实践完整篇
2011/08/20 Javascript
JavaScript中的ubound函数使用实例
2014/11/04 Javascript
js插件YprogressBar实现漂亮的进度条效果
2015/04/20 Javascript
js跨域请求的5中解决方式
2015/07/02 Javascript
jQuery表格插件datatables用法汇总
2016/03/29 Javascript
jQuery ajax 当async为false时解决同步操作失败的问题
2016/11/18 Javascript
AngularJS表单提交实例详解
2017/02/18 Javascript
JS判断时间段的实现代码
2017/06/14 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
vue打包相关细节整理(小结)
2018/09/28 Javascript
如何解决.vue文件url引用文件的问题
2019/01/18 Javascript
bootstrap-table实现表头固定以及列固定的方法示例
2019/03/07 Javascript
在vue项目中利用popstate处理页面返回的操作介绍
2020/08/06 Javascript
python利用sklearn包编写决策树源代码
2017/12/21 Python
Python爬虫框架Scrapy实例代码
2018/03/04 Python
使用Python自动化破解自定义字体混淆信息的方法实例
2019/02/13 Python
python Django里CSRF 对应策略详解
2019/08/05 Python
对tensorflow中cifar-10文档的Read操作详解
2020/02/10 Python
keras 如何保存最佳的训练模型
2020/05/25 Python
解决pycharm修改代码后第一次运行不生效的问题
2021/02/06 Python
阿玛尼化妆品美国官网:Giorgio Armani Beauty
2017/02/02 全球购物
《记金华的双龙洞》教学反思
2014/04/19 职场文书
态度决定一切演讲稿
2014/05/20 职场文书
消防宣传口号
2014/06/16 职场文书
2014年综合治理工作总结
2014/11/20 职场文书
2014年统计工作总结
2014/11/21 职场文书
迎新生欢迎词
2015/01/23 职场文书
2015年财务工作总结范文
2015/03/31 职场文书
2015年度酒店客房部工作总结
2015/05/25 职场文书
师范生见习自我总结
2015/06/23 职场文书
学习十八大的感悟
2015/08/11 职场文书