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 相关文章推荐
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
Aug 05 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
Mar 20 Javascript
JS、jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例分享
Apr 11 Javascript
javascript字符串与数组转换汇总
May 26 Javascript
JQuery创建DOM节点的方法
Jun 11 Javascript
javascript获取重复次数最多的字符
Jul 08 Javascript
Backbone.js框架中简单的View视图编写学习笔记
Feb 14 Javascript
动态加载js、css的简单实现代码
May 26 Javascript
javascript函数中的3个高级技巧
Sep 22 Javascript
js实现点击每个li节点,都弹出其文本值及修改
Dec 15 Javascript
JS document内容及样式操作完整示例
Jan 14 Javascript
vue键盘事件点击事件加native操作
Jul 27 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
攻克CakePHP系列二 表单数据显示
2008/10/22 PHP
一个PHP二维数组排序的函数分享
2014/01/17 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
2016/07/14 PHP
thinkPHP5实现数据库添加内容的方法
2017/10/25 PHP
PHP isset empty函数相关面试题及解析
2020/12/11 PHP
BOOM vs RR BO3 第二场2.13
2021/03/10 DOTA
用javascript获取地址栏参数
2006/12/22 Javascript
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
2007/01/16 Javascript
jQuery布局插件UI Layout简介及使用方法
2013/04/03 Javascript
javascript读写json示例
2014/04/11 Javascript
javascript动态修改Li节点值的方法
2015/01/20 Javascript
微信小程序 省市区选择器实例详解(附源码下载)
2017/01/05 Javascript
jQuery实现的省市联动菜单功能示例【测试可用】
2017/01/13 Javascript
基于AGS JS开发自定义贴图图层
2017/03/31 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
2017/04/18 Javascript
微信小程序教程系列之设置标题栏和导航栏(7)
2020/06/29 Javascript
Angular 4依赖注入学习教程之组件服务注入(二)
2017/06/04 Javascript
node+express+ejs使用模版引擎做的一个示例demo
2017/09/18 Javascript
关于react-router/react-router-dom v4 history不能访问问题的解决
2018/01/08 Javascript
Vue 组件修改根实例的数据的方法
2019/04/02 Javascript
Vue.js中该如何自己维护路由跳转记录
2019/05/19 Javascript
Vue响应式原理Observer、Dep、Watcher理解
2019/06/06 Javascript
JS实现json数组排序操作实例分析
2019/10/28 Javascript
TensorFlow实现创建分类器
2018/02/06 Python
解决python读取几千万行的大表内存问题
2018/06/26 Python
使用Python处理BAM的方法
2018/09/28 Python
python多线程分块读取文件
2019/08/29 Python
实例讲解CSS3中Transform的perspective属性的用法
2016/04/22 HTML / CSS
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
extern在函数声明中是什么意思
2014/01/19 面试题
应聘护理专业毕业自荐书范文
2014/02/12 职场文书
承诺书范本
2015/01/21 职场文书
让人感觉高大上的讲话稿怎么写?
2019/07/08 职场文书
python简单验证码识别的实现过程
2021/06/20 Python
python和Appium的移动端多设备自动化测试框架
2022/04/26 Python