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 17 Javascript
JavaScript 2048 游戏实例代码(简单易懂)
Mar 25 Javascript
原生js三级联动的简单实现代码
Jun 07 Javascript
AngularJS ng-repeat指令中使用track by子语句解决重复数据遍历错误问题
Jan 21 Javascript
从零开始学习Node.js系列教程二:文本提交与显示方法
Apr 13 Javascript
详解如何用typescript开发koa2的二三事
Nov 13 Javascript
使用Vue.observable()进行状态管理的实例代码详解
May 26 Javascript
移动端 Vue+Vant 的Uploader 实现上传、压缩、旋转图片功能
Jun 10 Javascript
微信小程序 select 下拉框组件功能
Sep 09 Javascript
JavaScript碰撞检测原理及其实现代码
Mar 12 Javascript
详解Vue.js 响应接口
Jul 04 Javascript
vue项目中js-cookie的使用存储token操作
Nov 13 Javascript
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
先进的自动咖啡技术,真的可以取代咖啡师吗?
2021/03/06 冲泡冲煮
PHP无法访问远程mysql的问题分析及解决
2013/05/16 PHP
解析yahoo邮件用phpmailer发送的实例
2013/06/24 PHP
destoon在各个服务器下设置URL Rewrite(伪静态)的方法
2014/06/21 Servers
PHP正则验证Email的方法
2015/06/15 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
2016/07/07 PHP
php-fpm添加service服务的例子
2018/04/27 PHP
php+lottery.js实现九宫格抽奖功能
2019/07/21 PHP
JQuery扩展插件Validate—6 radio、checkbox、select的验证
2011/09/05 Javascript
用jquery存取照片的具体实现方法
2013/06/30 Javascript
js判断浏览器类型的方法
2013/08/07 Javascript
Javascript中call的两种用法实例
2013/12/13 Javascript
node.js入门教程迷你书、node.js入门web应用开发完全示例
2014/04/06 Javascript
JavaScript三元运算符的多种使用技巧
2015/04/16 Javascript
详细分析使用AngularJS编程中提交表单的方式
2015/06/19 Javascript
浅析Node.js的Stream模块中的Readable对象
2015/07/29 Javascript
一个字符串中出现次数最多的字符 统计这个次数【实现代码】
2016/04/29 Javascript
nodejs基础应用
2017/02/03 NodeJs
Java中int与integer的区别(基本数据类型与引用数据类型)
2017/02/19 Javascript
vue2.0中goods选购栏滚动算法的实现代码
2017/05/17 Javascript
vue移动端轻量级的轮播组件实现代码
2018/07/12 Javascript
简单了解TypeScript中如何继承 Error 类
2019/06/21 Javascript
JS将时间秒转换成天小时分钟秒的字符串
2019/07/10 Javascript
详解在Vue.js编写更好的v-for循环的6种技巧
2020/04/14 Javascript
Jquery如何使用animation动画效果改变背景色的代码
2020/07/20 jQuery
vue实现路由懒加载的3种方法示例
2020/09/01 Javascript
python实现字符串和日期相互转换的方法
2015/05/13 Python
python实现泊松图像融合
2018/07/26 Python
用python实现前向分词最大匹配算法的示例代码
2020/08/06 Python
美体小铺加拿大官方网站:The Body Shop加拿大
2016/10/30 全球购物
财务副总经理工作职责
2013/11/25 职场文书
kfc实习自我鉴定
2013/12/14 职场文书
治超工作实施方案
2014/05/04 职场文书
家庭贫困证明
2015/06/16 职场文书
银行柜员工作心得体会
2016/01/23 职场文书
小学记事作文之200字
2019/08/06 职场文书