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 相关文章推荐
前后台交互过程中json格式如何解析以及如何生成
Dec 26 Javascript
动态添加option及createElement使用示例
Jan 26 Javascript
jquery实现手机发送验证码的倒计时代码
Feb 12 Javascript
js实现网页收藏功能
Dec 17 Javascript
浅谈JavaScript的内置对象和浏览器对象
Jun 03 Javascript
Ionic2系列之使用DeepLinker实现指定页面URL
Nov 21 Javascript
jquery+css实现下拉列表功能
Sep 03 jQuery
webpack 4.0.0-beta.0版本新特性介绍
Feb 10 Javascript
微信小程序 wxParse插件显示视频问题
Sep 27 Javascript
JavaScript修改注册表实例代码
Jan 05 Javascript
完美解决通过IP地址访问VUE项目的问题
Jul 18 Javascript
vue3不同环境下实现配置代理
May 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
AJAX的跨域访问-两种有效的解决方法介绍
2013/06/22 PHP
destoon各类调用汇总
2014/06/20 PHP
php上传文件常见问题总结
2015/02/03 PHP
php通过文件流方式复制文件的方法
2015/03/13 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
Laravel 类和接口注入相关的代码
2019/10/15 PHP
js类中获取外部函数名的方法
2007/08/19 Javascript
JS简单实现多级Select联动菜单效果代码
2015/09/06 Javascript
jQuery同步提交示例代码
2015/12/12 Javascript
JS实现的简单拖拽功能示例
2017/03/13 Javascript
jQuery实现简单的回到顶部totop功能示例
2017/10/16 jQuery
vue刷新和tab切换实例
2018/02/11 Javascript
基于vue-router 多级路由redirect 重定向的问题
2018/09/03 Javascript
详解Node.js读写中文内容文件操作
2018/10/10 Javascript
什么时候不能在 Node.js 中使用 Lock Files
2019/06/24 Javascript
p5.js临摹动态图形实现方法详解
2019/10/23 Javascript
javascript实现画板功能
2020/04/12 Javascript
jquery插件懒加载的示例
2020/10/24 jQuery
JavaScript缓动动画函数的封装方法
2020/11/25 Javascript
Python、Javascript中的闭包比较
2015/02/04 Python
深入理解python中的闭包和装饰器
2016/06/12 Python
python接口自动化(十六)--参数关联接口后传(详解)
2019/04/16 Python
Python3 批量扫描端口的例子
2019/07/25 Python
基于Django实现日志记录报错信息
2019/12/17 Python
Python多重继承之菱形继承的实例详解
2020/02/12 Python
Python3通过chmod修改目录或文件权限的方法示例
2020/06/08 Python
HTML5和CSS3让网页设计提升到下一个高度
2009/08/14 HTML / CSS
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
2016/06/28 HTML / CSS
html5实现图片转圈的动画效果——让页面动起来
2017/10/16 HTML / CSS
Sunglasses Shop德国站:欧洲排名第一的太阳镜网站
2017/08/01 全球购物
英国领先的游戏零售商:GAME
2019/09/24 全球购物
俄罗斯最大的隐形眼镜销售网站:Ochkov.Net
2021/02/07 全球购物
大学生关于奋斗的演讲稿
2014/01/09 职场文书
缓刑人员的思想汇报
2014/01/11 职场文书
详解nodejs内置模块
2021/05/06 NodeJs
MySql 8.0及对应驱动包匹配的注意点说明
2021/06/23 MySQL