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 相关文章推荐
XENON基于JSON变种
Jul 27 Javascript
js 事件截取enter按键页面提交事件示例代码
Mar 04 Javascript
JavaScript编程的单例设计模讲解
Nov 10 Javascript
javascript常用经典算法实例详解
Nov 25 Javascript
详解PHP中pathinfo()函数导致的安全问题
Jan 05 Javascript
Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
Apr 19 Javascript
js+html获取系统当前时间
Nov 10 Javascript
vuex如何重置所有state(可定制)
Jan 17 Javascript
详解vue-element Tree树形控件填坑路
Mar 26 Javascript
如何基于JavaScript判断图片是否加载完成
Dec 28 Javascript
js实现简单放大镜效果
Mar 07 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
Feb 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
咖啡豆要不要放冰箱的原因
2021/03/04 冲泡冲煮
php Undefined index和Undefined variable的解决方法
2008/03/27 PHP
PHP更新购物车数量(表单部分/PHP处理部分)
2013/05/03 PHP
PHP开发工具ZendStudio下Xdebug工具使用说明详解
2013/11/11 PHP
PHP实现Soap通讯的方法
2014/11/03 PHP
php制作动态随机验证码
2015/02/12 PHP
CI映射(加载)数据到view层的方法
2016/03/28 PHP
yii2 resetful 授权验证详解
2017/05/18 PHP
PHP进阶学习之反射基本概念与用法分析
2019/06/18 PHP
php解压缩zip和rar压缩包文件的方法
2019/07/10 PHP
Yii框架通过请求组件处理get,post请求的方法分析
2019/09/03 PHP
html 锁定页面(js遮罩层弹出div效果)
2009/10/27 Javascript
javascript中字符串拼接详解
2014/09/26 Javascript
node.js中的querystring.unescape方法使用说明
2014/12/10 Javascript
jQuery下拉友情链接美化效果代码分享
2015/08/26 Javascript
js+flash实现的5图变换效果广告代码(附演示与demo源码下载)
2016/04/01 Javascript
基于Bootstrap3表格插件和分页插件实例详解
2016/05/17 Javascript
jQuery如何封装输入框插件
2016/08/19 Javascript
js前端实现图片懒加载(lazyload)的两种方式
2017/04/24 Javascript
Vue Spa切换页面时更改标题的实例代码
2017/07/15 Javascript
详解如何在react中搭建d3力导向图
2018/01/12 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
微信小程序 组件的外部样式externalClasses使用详解
2019/09/06 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
2019/11/06 Javascript
vue 解决setTimeOut和setInterval函数无效报错的问题
2020/07/30 Javascript
Vue中强制组件重新渲染的正确方法
2021/01/03 Vue.js
python3抓取中文网页的方法
2015/07/28 Python
深入解析Python中的lambda表达式的用法
2015/08/28 Python
Python求一批字符串的最长公共前缀算法示例
2019/03/02 Python
Python闭包和装饰器用法实例详解
2019/05/22 Python
python安装本地whl的实例步骤
2019/10/12 Python
利用python画出AUC曲线的实例
2020/02/28 Python
世界最大的票务市场:viagogo
2017/02/16 全球购物
巴西食品补充剂在线零售商:Músculos na Web
2017/08/07 全球购物
定制iPhone和Macbook保护壳:Slick Case
2018/11/21 全球购物
元宵晚会主持词
2014/03/25 职场文书