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 相关文章推荐
个人总结的一些关于String、Function、Array的属性和用法
Jan 10 Javascript
收藏Javascript中常用的55个经典技巧
Aug 12 Javascript
js控制表单奇偶行样式的简单方法
Jul 31 Javascript
容易造成JavaScript内存泄露几个方面
Sep 04 Javascript
JS+DIV+CSS实现的经典标签切换效果代码
Sep 14 Javascript
js select实现省市区联动选择
Apr 17 Javascript
教你如何用node连接redis的示例代码
Jul 12 Javascript
详解SPA中前端路由基本原理与实现方式
Sep 12 Javascript
js实现直播点击飘心效果
Aug 19 Javascript
uniapp实现横向滚动选择日期
Oct 21 Javascript
原生JS生成指定位数的验证码
Oct 28 Javascript
详解vite+ts快速搭建vue3项目以及介绍相关特性
Feb 25 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
精致的人儿就要挑杯子喝咖啡
2021/03/03 冲泡冲煮
火车头采集器3.0采集图文教程
2007/03/17 PHP
Linux下PHP连接Oracle数据库
2014/08/20 PHP
PHP addslashes()函数讲解
2019/02/03 PHP
PHP中的Iterator迭代对象属性详解
2019/04/12 PHP
Laravel获取当前请求的控制器和方法以及中间件的例子
2019/10/11 PHP
Laravel 不同生产环境服务器的判断实践
2019/10/15 PHP
Javascript开发之三数组对象实例介绍
2012/11/12 Javascript
jquery解析xml字符串示例分享
2014/03/25 Javascript
Javascript节点关系实例分析
2015/05/15 Javascript
javascript中闭包(Closure)详解
2016/01/06 Javascript
网页前端登录js按Enter回车键实现登陆的两种方法
2016/05/10 Javascript
js实现倒计时及时间对象
2016/11/15 Javascript
node.js基于mongodb的搜索分页示例
2017/01/22 Javascript
详解webpack3编译兼容IE8的正确姿势
2017/12/21 Javascript
原生Vue 实现右键菜单组件功能
2019/12/16 Javascript
vue组件创建的三种方式小结
2020/02/03 Javascript
Node.js API详解之 tty功能与用法实例分析
2020/04/27 Javascript
[00:48]完美“圣”典2016风云人物:xiao8宣传片
2016/11/30 DOTA
Python多进程库multiprocessing中进程池Pool类的使用详解
2017/11/24 Python
python中字符串比较使用is、==和cmp()总结
2018/03/18 Python
Python操作Excel把数据分给sheet
2020/05/20 Python
css3的transition效果和transfor效果示例介绍
2013/10/30 HTML / CSS
Harrods美国:英国最大的百货公司
2018/11/04 全球购物
June Jacobs尊积帕官网:知名的spa水疗护肤品牌
2019/03/21 全球购物
三陽商会官方网站:Sanyo iStore
2019/05/15 全球购物
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
简述数组与指针的区别
2014/01/02 面试题
幼儿园六一儿童节主持节目串词
2014/03/21 职场文书
最常使用的求职信
2014/05/25 职场文书
运动会方队口号
2014/06/07 职场文书
校园活动策划方案
2014/06/13 职场文书
2014年社区矫正工作总结
2014/11/18 职场文书
2014年度工作总结报告
2014/12/15 职场文书
python 如何将两个实数矩阵合并为一个复数矩阵
2021/05/19 Python
python四种出行路线规划的实现
2021/06/23 Python