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 相关文章推荐
jQuery powerFloat万能浮动层下拉层插件使用介绍
Dec 27 Javascript
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
May 23 Javascript
javascript的内存管理详解
Aug 07 Javascript
浅析JavaScript中两种类型的全局对象/函数
Dec 05 Javascript
JavaScript实现Java中Map容器的方法
Oct 09 Javascript
jquery删除数组中重复元素
Dec 05 Javascript
微信小程序 navbar实例详解
May 11 Javascript
微信小程序实现tab切换效果
Nov 21 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
Sep 18 Javascript
Electron autoUpdater实现Windows安装包自动更新的方法
Dec 24 Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
May 19 jQuery
vue $router和$route的区别详解
Dec 02 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
使用PHP接受文件并获得其后缀名的方法
2015/08/05 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
2019/09/03 PHP
(转载)JavaScript中匿名函数,函数直接量和闭包
2007/05/08 Javascript
javascript Math.random()随机数函数
2009/11/04 Javascript
基于jquery的跨域调用文件
2010/11/19 Javascript
Grid得到选择行数据的方法总结
2011/01/17 Javascript
基于jQuery的动态增删改查表格信息,可左键/右键提示(原创自Zjmainstay)
2012/07/31 Javascript
基于javascript 闭包基础分享
2013/07/10 Javascript
Javascript浅谈之引用类型
2013/12/18 Javascript
JS控制图片等比例缩放的示例代码
2013/12/24 Javascript
jquery如何判断表格同一列不同行input数据是否重复
2014/05/14 Javascript
js简单实现点击左右运动的方法
2015/04/10 Javascript
JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用
2016/09/19 Javascript
Javascript中return的使用与闭包详解
2017/01/11 Javascript
JS闭包可被利用的常见场景小结
2017/04/09 Javascript
webpack v4 从dev到prd的方法
2018/04/02 Javascript
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
详解node Async/Await 更好的异步编程解决方案
2018/05/10 Javascript
JS实现的全选、全不选及反选功能【案例】
2019/02/19 Javascript
前端js中的事件循环eventloop机制详解
2019/05/15 Javascript
JS实现音乐导航特效
2020/01/06 Javascript
探究一道价值25k的蚂蚁金服异步串行面试题
2020/08/21 Javascript
jQuery实现可以计算进制转换的计算器
2020/10/19 jQuery
Python调用C语言开发的共享库方法实例
2015/03/18 Python
Python实现KNN邻近算法
2021/01/28 Python
Django+Ajax+jQuery实现网页动态更新的实例
2018/05/28 Python
快速解决pandas.read_csv()乱码的问题
2018/06/15 Python
pyqt5 实现工具栏文字图片同时显示
2019/06/13 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
2020/04/08 Python
英国著名的茶叶品牌:Whittard of Chelsea
2016/09/22 全球购物
中药专业大学生医药工作求职信
2013/10/25 职场文书
岗位职责的定义
2013/11/10 职场文书
物业管理毕业生个人的求职信
2013/11/30 职场文书
应届生简历自我评价
2015/03/11 职场文书
Innodb存储引擎中的后台线程详解
2022/04/03 MySQL
MySQL数据库实验实现简单数据库应用系统设计
2022/06/21 MySQL