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 相关文章推荐
Jquery+ajax请求data显示在GridView上(asp.net)
Aug 27 Javascript
早该知道的7个JavaScript技巧
Mar 27 Javascript
JavaScript表单验证实例之验证表单项是否为空
Jan 10 Javascript
基于Bootstrap实现tab标签切换效果
Apr 15 Javascript
Vue学习之路之登录注册实例代码
Jul 06 Javascript
Angularjs cookie 操作实例详解
Sep 27 Javascript
vue-cli 自定义指令directive 添加验证滑块示例
Oct 19 Javascript
mint-ui 时间插件使用及获取选择值的方法
Feb 09 Javascript
koa2 从入门到精通(小结)
Jul 23 Javascript
js获取 gif 的帧数的代码实例
Sep 10 Javascript
vue中keep-alive内置组件缓存的实例代码
Apr 16 Javascript
React实现轮播效果
Aug 25 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
PHP4实际应用经验篇(3)
2006/10/09 PHP
php 魔术方法使用说明
2009/10/20 PHP
CI框架源码解读之利用Hook.php文件完成功能扩展的方法
2016/05/18 PHP
ASP.NET jQuery 实例3 (在TextBox里面阻止复制、剪切和粘贴事件)
2012/01/13 Javascript
JavaScript基础知识之数据类型
2012/08/06 Javascript
Javascript中自动切换焦点实现代码
2012/12/15 Javascript
js获取页面传来参数的方法
2014/09/06 Javascript
用原生js做个简单的滑动效果的回到顶部
2014/10/15 Javascript
JavaScript变量的作用域全解析
2015/08/14 Javascript
基于jquery步骤进度条源码分享
2015/11/12 Javascript
vue不通过路由直接获取url中参数的方法示例
2017/08/24 Javascript
Node.js 中使用 async 函数的方法
2017/11/20 Javascript
浅谈JS对象添加getter与setter的5种方法
2018/06/09 Javascript
JS函数节流和防抖之间的区分和实现详解
2019/01/11 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
2019/04/20 Javascript
什么时候不能在 Node.js 中使用 Lock Files
2019/06/24 Javascript
Vue 用Vant实现时间选择器的示例代码
2019/10/25 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
2020/06/28 Javascript
python获取list下标及其值的简单方法
2016/09/12 Python
python实现教务管理系统
2018/03/12 Python
解决pycharm运行程序出现卡住scanning files to index索引的问题
2019/06/27 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
2021/03/03 Python
css3闪亮进度条效果实现思路及代码
2013/04/17 HTML / CSS
华润集团网上药店:健一网
2016/09/19 全球购物
澳大利亚手表品牌:Time IV Change
2018/10/06 全球购物
美国正宗设计师眼镜在线零售商:EYEZZ
2019/03/23 全球购物
移动通信行业实习自我鉴定
2013/09/28 职场文书
室内拓展活动方案
2014/02/13 职场文书
《蜗牛》教学反思
2014/02/18 职场文书
医院安全生产月活动总结
2014/07/05 职场文书
法院干警四风问题自我剖析材料
2014/09/29 职场文书
社区安置帮教工作总结2015
2015/05/20 职场文书
Java使用jmeter进行压力测试
2021/07/09 Java/Android
SpringBoot+Vue+JWT的前后端分离登录认证详细步骤
2021/09/25 Java/Android
《我的美好婚事》动画化决定纪念插画与先导PV公开
2022/04/06 日漫