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 相关文章推荐
你需要知道的10个最佳javascript开发实践小结
Apr 15 Javascript
js如何判断用户是在PC端和还是移动端访问
Apr 24 Javascript
node.js中的定时器nextTick()和setImmediate()区别分析
Nov 26 Javascript
jQuery中(function($){})(jQuery)详解
Jul 15 Javascript
悬浮广告方法日常收集整理
Mar 18 Javascript
浅析JavaScript 箭头函数 generator Date JSON
May 23 Javascript
Bootstrap table分页问题汇总
May 30 Javascript
jQuery异步提交表单的两种方式
Sep 13 Javascript
Vue响应式原理详解
Apr 18 Javascript
ionic2懒加载配置详解
Sep 01 Javascript
使用angular-cli webpack创建多个包的方法
Oct 16 Javascript
如何理解Vue前后端数据交互与显示
May 10 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+Javascript实现在线拍照功能实例
2015/07/18 PHP
PHP7创建销毁session的实例方法
2020/02/03 PHP
javascript 跨浏览器开发经验总结(五) js 事件
2010/05/19 Javascript
一个轻量级的javascript库 pj介绍
2010/12/19 Javascript
查找iframe里元素的方法可传参
2013/09/11 Javascript
JS小功能(offsetLeft实现图片滚动效果)实例代码
2013/11/28 Javascript
javascript实现json页面分页实例代码
2014/02/20 Javascript
node.js使用cluster实现多进程
2016/03/17 Javascript
JS数组去掉重复数据只保留一条的实现代码
2016/08/11 Javascript
深入理解在JS中通过四种设置事件处理程序的方法
2017/03/02 Javascript
JavaScript编写一个贪吃蛇游戏
2017/03/09 Javascript
nodejs multer实现文件上传与下载
2017/05/10 NodeJs
使用yeoman构建angular应用的方法
2017/08/14 Javascript
详解Angular系列之变化检测(Change Detection)
2018/02/26 Javascript
vue项目中应用ueditor自定义上传按钮功能
2018/04/27 Javascript
搭建一个nodejs脚手架的方法步骤
2019/06/28 NodeJs
Python socket网络编程TCP/IP服务器与客户端通信
2017/01/05 Python
老生常谈Python进阶之装饰器
2017/05/11 Python
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
python列表生成式与列表生成器的使用
2018/02/23 Python
详解pytorch 0.4.0迁移指南
2019/06/16 Python
python设置环境变量的作用整理
2020/02/17 Python
如何在mac版pycharm选择python版本
2020/07/21 Python
python3.7.3版本和django2.2.3版本是否可以兼容
2020/09/01 Python
CSS3关于z-index不生效问题的解决
2020/02/19 HTML / CSS
美国最大的香水连锁店官网:Perfumania
2016/08/15 全球购物
SmartBuyGlasses荷兰:购买太阳镜和眼镜
2020/03/16 全球购物
人事部主管岗位职责
2013/12/26 职场文书
集团公司人力资源部岗位职责
2014/01/03 职场文书
公司合作意向书
2014/04/01 职场文书
交通事故协议书
2014/04/15 职场文书
新文化运动的基本口号
2014/06/21 职场文书
党的群众路线教育实践活动学习笔记范文
2014/11/06 职场文书
2015年检验科工作总结
2015/04/27 职场文书
奖金申请报告模板
2015/05/15 职场文书
用Python进行栅格数据的分区统计和批量提取
2021/05/27 Python