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 相关文章推荐
excel操作之Add Data to a Spreadsheet Cell
Jun 12 Javascript
javascript使用定时函数实现跳转到某个页面
Dec 25 Javascript
Javascript玩转继承(二)
May 08 Javascript
一个检测表单数据的JavaScript实例
Oct 31 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
Nov 25 Javascript
vue.js中过滤器的使用教程
Jun 08 Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
Nov 07 Javascript
使用vue实现简单键盘的示例(支持移动端和pc端)
Dec 25 Javascript
vue-infinite-loading2.0 中文文档详解
Apr 08 Javascript
Vue 中mixin 的用法详解
Apr 23 Javascript
VSCode 配置uni-app的方法
Jul 11 Javascript
javascript this指向相关问题及改变方法
Nov 19 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
php 高效率写法 推荐
2010/02/21 PHP
PHP计数器的实现代码
2013/06/08 PHP
php class类的用法详细总结
2013/10/17 PHP
CI框架中site_url()和base_url()的区别
2015/01/07 PHP
php使用函数pathinfo()、parse_url()和basename()解析URL
2016/11/25 PHP
php nginx 实时输出的简单实现方法
2018/01/21 PHP
用Div仿showModalDialog模式菜单的效果的代码
2007/03/05 Javascript
7个Javascript地图脚本整理
2009/10/20 Javascript
jquery必须知道的一些常用特效方法及使用示例(整理)
2013/06/24 Javascript
JS 获取浏览器和屏幕宽高等信息代码
2014/03/31 Javascript
javascript显示中文日期的方法
2015/06/18 Javascript
jQuery 操作input中radio的技巧
2016/07/18 Javascript
vue修改vue项目运行端口号的方法
2017/08/04 Javascript
使用bootstraptable插件实现表格记录的查询、分页、排序操作
2017/08/06 Javascript
JavaScript requestAnimationFrame动画详解
2017/09/14 Javascript
vee-validate vue 2.0自定义表单验证的实例
2018/08/28 Javascript
vuex vue简单使用知识点总结
2019/08/29 Javascript
javascript的惯性运动实现代码实例
2019/09/07 Javascript
Layer+Echarts构建弹出层折线图的方法
2019/09/25 Javascript
解决vue cli使用typescript后打包巨慢的问题
2019/09/30 Javascript
原生js中运算符及流程控制示例详解
2021/01/05 Javascript
[01:32]完美世界DOTA2联赛10月29日精彩集锦
2020/10/30 DOTA
Python实现简单字典树的方法
2016/04/29 Python
Python 调用PIL库失败的解决方法
2019/01/08 Python
python基础知识(一)变量与简单数据类型详解
2019/04/17 Python
Python完全识别验证码自动登录实例详解
2019/11/24 Python
Muziker英国:中欧最大的音乐家商店
2020/02/05 全球购物
英国Lookfantastic中文网站:护肤品美妆美发购物(英国直邮)
2020/04/27 全球购物
编写strcpy函数
2014/06/24 面试题
商场促销活动策划方案
2014/08/18 职场文书
农村文化建设标语
2014/10/07 职场文书
机关党员四风问题个人整改措施
2014/10/26 职场文书
财务会计岗位职责
2015/02/03 职场文书
保研专家推荐信范文
2015/03/25 职场文书
2015年护士长个人工作总结
2015/04/24 职场文书
MYSQL优化之数据表碎片整理详解
2022/04/03 MySQL