Vue 自定义指令功能完整实例


Posted in Javascript onSeptember 17, 2019

本文实例讲述了Vue 自定义指令功能。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>自定义指令</title>
  <script type="text/javascript" src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>
</head>
<body>
<h1>自定义指令</h1>
<hr>
<div id="app">
  <div v-json="color">{{num}}</div>
  <p><button @click="add">加一</button></p>
</div>
<p>
  <button οnclick="unbind()">解绑</button>
</p>
</body>
</html>
<script>
  function unbind(){
    //vue 提供的解绑指令
    app.$destroy()
  }
  //自定义指令 有五个钩子函数(声明周期)
  //bind: 只调用一次。指令第一次绑定到元素时调用。用这个钩子函数可以定义一个绑定时执行一次的初始化动作
  //inserted: 被绑定元素插入父节点时调用 (父节点存在即可调用,不必存在于document中)
  // update: 被绑定于元素所在的模板更新时被调用,而无论绑定值是否发生变化 通过比较更新前后的绑定值,可以 忽略不必要的模板更新
  //componentUpdated: 被绑定元素所在模板完成一次更新周期时调用
  // unbind:只调用一次,指令与元素解绑时调用
  Vue.directive('json',{
    bind:function(el,binding){//被绑定
      console.log('1 - bind');
      el.style='color:'+binding.value;
    },
    inserted:function(){//绑定到节点
      console.log('2 - inserted');
    },
    update:function(){//组件更新
      console.log('3 - update');
    },
    componentUpdated:function(){//组件更新完成
      console.log('4 - componentUpdated');
    },
    unbind:function(){//解绑
      console.log('5 - unbind');
    }
  });
  //自定义指令
  // Vue.directive('json',function(el,binding){
  //   el.style='color:'+binding.value;
  // });
  var app = new Vue({
    el:'#app',
    data:{
      num:1,
      color:'red'
    },
    methods:{
      add:function(){
        this.num++
      }
    }
  })
</script>

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

希望本文所述对大家vue.js程序设计有所帮助。

Javascript 相关文章推荐
用js重建星际争霸
Dec 22 Javascript
用javascript为页面添加天气显示实现思路及代码
Dec 02 Javascript
简述Jquery与DOM对象
Jul 10 Javascript
在Node.js中使用Javascript Generators详解
May 05 Javascript
jQuery ajax应用总结
Jun 02 Javascript
前端框架Vue.js中Directive知识详解
Sep 12 Javascript
Angularjs 设置全局变量的方法总结
Oct 20 Javascript
微信小程序 loading(加载中提示框)实例
Oct 28 Javascript
Vue.js中组件中的slot实例详解
Jul 17 Javascript
浅谈React中的元素、组件、实例和节点
Feb 27 Javascript
浅谈react路由传参的几种方式
Mar 23 Javascript
Vue实现下拉加载更多
May 09 Vue.js
JS扁平化输出数组的2种方法解析
Sep 17 #Javascript
JS代码屏蔽F12,右键,粘贴,复制,剪切,选中,操作实例
Sep 17 #Javascript
uni app仿微信顶部导航条功能
Sep 17 #Javascript
layui 关闭open弹出框 刷新table表格页面的方法
Sep 16 #Javascript
解决layer.confirm选择完之后消息框不消失的问题
Sep 16 #Javascript
解决layui轮播图有数据不显示的情况
Sep 16 #Javascript
基于layui轮播图满屏是高度自适应的解决方法
Sep 16 #Javascript
You might like
德生BCL3000的电路分析和打磨
2021/03/02 无线电
dedecms后台验证码总提示错误的解决方法
2007/03/21 PHP
php5.3 注意事项说明
2013/07/01 PHP
基于PHPexecl类生成复杂的报表表头示例
2016/10/14 PHP
jquery入门—访问DOM对象方法
2013/01/07 Javascript
用jquery模仿的a的title属性(兼容ie6/7)
2013/01/21 Javascript
通过length属性判断jquery对象是否存在
2013/10/18 Javascript
百度地图自定义控件分享
2015/03/04 Javascript
全面解析Bootstrap布局组件应用
2016/02/22 Javascript
AngularJs  Using $location详解及示例代码
2016/09/02 Javascript
微信小程序 简单教程实例详解
2017/01/13 Javascript
使用AngularJS编写多选按钮选中时触发指定方法的指令代码详解
2017/07/24 Javascript
分析javascript原型及原型链
2018/03/18 Javascript
vuex的module模块用法示例
2018/11/12 Javascript
web.py中调用文件夹内模板的方法
2014/08/26 Python
Python基于递归算法实现的汉诺塔与Fibonacci数列示例
2018/04/18 Python
Python爬虫的两套解析方法和四种爬虫实现过程
2018/07/20 Python
Django实现学生管理系统
2019/02/26 Python
使用Python的SymPy库解决数学运算问题的方法
2019/03/27 Python
python里dict变成list实例方法
2019/06/26 Python
django 信号调度机制详解
2019/07/19 Python
Django Rest framework认证组件详细用法
2019/07/25 Python
使用Python爬取弹出窗口信息的实例
2020/03/14 Python
Jupyter Notebook打开任意文件夹操作
2020/04/14 Python
英国现代家具和装饰网站:PN Home
2018/08/16 全球购物
英国Radley包德国官网:Radley London德国
2019/11/18 全球购物
高考自主招生自荐信
2013/10/20 职场文书
人事文员岗位职责
2014/02/16 职场文书
老人祝寿主持词
2014/03/28 职场文书
《小动物过冬》教学反思
2014/04/17 职场文书
超市店庆活动方案
2014/08/31 职场文书
单位介绍信格式范文
2015/05/04 职场文书
务工证明怎么写
2015/06/18 职场文书
教你修复 Win11应用商店加载空白问题
2021/12/06 数码科技
Redis超详细讲解高可用主从复制基础与哨兵模式方案
2022/04/07 Redis
Win10服务全部禁用了怎么启动?Win10服务全部禁用解决方法
2022/09/23 数码科技