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 相关文章推荐
在表单提交前进行验证的几种方式整理
Jul 31 Javascript
JS实现倒计时和文字滚动的效果实例
Oct 29 Javascript
基于Bootstrap使用jQuery实现简单可编辑表格
May 04 Javascript
Angularjs 实现分页功能及示例代码
Sep 14 Javascript
使用AngularJS 跨站请求如何解决jsonp请求问题
Jan 16 Javascript
webpack构建vue项目的详细教程(配置篇)
Jul 17 Javascript
JS实现简易换图时钟功能分析
Jan 04 Javascript
vue设计一个倒计时秒杀的组件详解
Apr 06 Javascript
在Vue项目中使用snapshot测试的具体使用
Apr 16 Javascript
Vue 使用计时器实现跑马灯效果的实例代码
Jul 11 Javascript
bootstrap-treeview实现多级树形菜单 后台JSON格式如何组织?
Jul 26 Javascript
Layui多选只有最后一个值的解决方法
Sep 02 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/03 新手入门
php统计文件大小,以GB、MB、KB、B输出
2011/05/29 PHP
php array_walk() 数组函数
2011/07/12 PHP
php中函数前加&amp;符号的作用分解
2014/07/08 PHP
如何判断php mysqli扩展类是否开启
2016/12/24 PHP
利用laravel搭建一个迷你博客实战教程
2017/08/13 PHP
关于laravel 子查询 &amp; join的使用
2019/10/16 PHP
Thinkphp 3.2框架使用Redis的方法详解
2019/10/24 PHP
解密效果
2006/06/23 Javascript
将CKfinder整合进CKEditor3.0的新方法
2010/01/10 Javascript
js中数组Array的一些常用方法总结
2013/08/12 Javascript
新增加的内容是如何将div的scrollbar自动移动最下面
2014/01/02 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
2014/02/21 Javascript
JSON与XML优缺点对比分析
2015/07/17 Javascript
Angularjs结合Bootstrap制作的一个TODO List
2016/08/18 Javascript
原生js编写基于面向对象的分页组件
2016/12/05 Javascript
详解Vue2.0之去掉组件click事件的native修饰
2017/04/20 Javascript
详解AngularJS ui-sref的简单使用
2017/04/24 Javascript
微信小程序switch组件使用详解
2018/01/31 Javascript
JavaScript引用类型Date常见用法实例分析
2018/08/08 Javascript
Promise扫盲贴
2019/06/24 Javascript
利用JavaScript的Map提升性能的方法详解
2019/08/14 Javascript
深入浅析vue中cross-env的使用
2019/09/12 Javascript
vue.js的简单自动求和计算实例
2019/11/08 Javascript
Vue实现跑马灯效果
2020/05/25 Javascript
解决vue 使用axios.all()方法发起多个请求控制台报错的问题
2020/11/09 Javascript
numpy返回array中元素的index方法
2018/06/27 Python
Django项目创建及管理实现流程详解
2020/10/13 Python
HTML5 canvas基本绘图之绘制阴影效果
2016/06/27 HTML / CSS
全球最大的中文旅行网站:去哪儿网
2017/11/16 全球购物
英国皇家邮政海外旗舰店:Royal Mail
2018/02/21 全球购物
日本AOKI官方商城:AOKI西装
2020/06/11 全球购物
企划经理的岗位职责
2013/11/17 职场文书
办公室内勤工作职责
2013/12/11 职场文书
挂职自我鉴定
2014/02/26 职场文书
党员贯彻十八大精神思想汇报范文
2014/10/25 职场文书