vue指令以及dom操作详解


Posted in Javascript onMarch 04, 2017

“AngularJS 通过被称为 指令 的新属性来扩展 HTML。AngularJS 通过内置的指令来为应用添加功能。AngularJS 允许你自定义指令。”

这是我最初接触“指令”这个词。还记得那时候,ng大行其道的时候,我特别好奇怎么给一个div加一个"ng-app" 就能解决这么多问题。

后来随着前端工作的深入,我用了jq的data-attr并且学会了jq的插件使用。但,这这并不能让我把它“指令”联想到一块,后来插件需要给节点加个标示来显示某种“状态管理” 我用了class  例如:pending,loading-end.

但是感觉和样式混在一块总是感觉不自在,后来我直接添加一个自定义标签 例如:attr-pending,attr-loading-end,通过dom上的自定义标签来标示某个状态是否完成。

在这个时候,发现"attr-pending,attr-loading-end"与“ng-app,ng-html”什么的非常类似,才恍然大悟,其实“指令”也可以理解为"标识",而具体的逻辑与它无关,它只是一个“标识”罢了。至于,ng-repeat,ng-click  同样可以理解某个程序在dom上一个“标识” 程序通过它来挂载某个功能。

现在接触了vue,vue比ng在开发上来说代码量很明显少了很多,“指令”一般开发人员不需要自己来实现。但是如果是开发一套ui交互的组件,还是很需要它。

bind: 仅调用一次,当指令第一次绑定元素的时候。

update: 第一次是紧跟在 bind 之后调用,获得的参数是绑定的初始值;以后每当绑定的值发生变化就会被调用,获得新值与旧值两个参数。

unbind:仅调用一次,当指令解绑元素的时候。

1.指令的注册

指令跟组件一样需要注册才能使用,同样有两种方式,一种是全局注册:

Vue.directive('dirName',function(){
//定义指令
});

另外一种是局部注册:
new Vue({

directives:{


dirName:{




//定义指令


}

}
});

2.可在指令函数配置中直接修改DOM[支持数据驱动] input里面的值修改的时候#demo里面的vue也会自动同步

<!DOCTYPE html> 
<html> 
<head lang="en"> 
 <meta charset="UTF-8"> 
 <title></title> 
 <script src="http://cdnjs.cloudflare.com/ajax/libs/vue/0.12.16/vue.min.js"></script> 
</head> 
<body> 
<div> 
  <p>展示vue指令----vue和元素dom操作的完美结合【拓展】</p> 
  <p>{{msg}}</p> 
  <input type="text" v-model="msg"> 
</div> 
<div id="demo" v-demo-directive="LightSlateGray : msg"></div> 
 
<script> 
 Vue.directive('demoDirective', { 
  bind: function () { 
   this.el.style.color = '#fff' 
   this.el.style.backgroundColor = this.arg 
  }, 
  update: function (value) { 
   this.el.innerHTML = 
     'name - '  + this.name + '<br>' + 
     'raw - '  + this.raw + '<br>' + 
     'expression - ' + this.expression + '<br>' + 
     'argument - ' + this.arg + '<br>' + 
     'value - '  + value 
  } 
 }); 
 var demo = new Vue({ 
  el: 'body', 
  data: { 
   msg: 'hello!' 
  } 
 }) 
 
</script> 
</body> 
</html>

官网链接: http://v1-cn.vuejs.org/guide/custom-directive.html

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 写类方式之十
Jul 05 Javascript
js比较和逻辑运算符的介绍
Mar 10 Javascript
js获取窗口相对于屏幕左边和上边的位置坐标
May 15 Javascript
JQuery判断checkbox是否选中及其它复选框操作方法合集
Jun 01 Javascript
javascript父子页面通讯实例详解
Jul 17 Javascript
基于javascript如何传递特殊字符
Nov 30 Javascript
JavaScript页面实时显示当前时间实例代码
Oct 23 Javascript
解决vue移动端适配问题
Dec 12 Javascript
如何在node环境实现“get数据解析”代码实例
Jul 03 Javascript
浏览器JavaScript调试功能无法使用解决方案
Sep 18 Javascript
js实现简易ATM功能
Oct 27 Javascript
在 HTML 页面中使用 React的场景分析
Jan 18 Javascript
JS如何判断浏览器类型和详细区分IE各版本浏览器
Mar 04 #Javascript
详解在Vue中通过自定义指令获取dom元素
Mar 04 #Javascript
在javaScript中检测数据类型的几种方式小结
Mar 04 #Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
Mar 04 #Javascript
jQuery插件echarts实现的循环生成图效果示例【附demo源码下载】
Mar 04 #Javascript
php输出全部gb2312编码内的汉字方法
Mar 04 #Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
Mar 04 #Javascript
You might like
雄兵连:天使彦天使彦为爱折翼,彦和炙心同时念动的誓言!
2020/03/02 国漫
如何去掉文章里的 html 语法
2006/10/09 PHP
PHP经典算法集锦【经典收藏】
2016/09/14 PHP
详解PHP中的序列化、反序列化操作
2017/03/21 PHP
php多进程模拟并发事务产生的问题小结
2018/12/07 PHP
JQuery 遮罩层实现(mask)实现代码
2010/01/09 Javascript
range 标准化之获取
2011/08/28 Javascript
JS实现根据出生年月计算年龄
2014/01/10 Javascript
javascript日期格式化示例分享
2014/03/05 Javascript
javascript操作ul中li的方法
2015/05/14 Javascript
javascript针对cookie的基本操作实例详解
2015/11/30 Javascript
jQuery Mobile中的button按钮组件基础使用教程
2016/05/23 Javascript
ionic组件ion-tabs选项卡切换效果实例
2016/08/27 Javascript
jQuery中$.ajax()方法参数解析
2016/10/22 Javascript
JS操作xml对象转换为Json对象示例
2017/03/25 Javascript
Vue2.0用 watch 观察 prop 变化(不触发)
2017/09/08 Javascript
python使用tensorflow保存、加载和使用模型的方法
2018/01/31 Python
python2.7安装图文教程
2018/03/13 Python
基于python进行桶排序与基数排序的总结
2018/05/29 Python
使用anaconda的pip安装第三方python包的操作步骤
2018/06/11 Python
PowerBI和Python关于数据分析的对比
2019/07/11 Python
网络维护中文求职信
2014/01/03 职场文书
初中校园之声广播稿
2014/01/15 职场文书
软件部经理岗位职责范本
2014/02/25 职场文书
爬山的活动方案
2014/08/16 职场文书
中国文明网向国旗敬礼活动精彩寄语2014
2014/09/27 职场文书
2014年超市员工工作总结
2014/11/18 职场文书
2014年大班保育员工作总结
2014/12/02 职场文书
本科毕业论文指导教师评语
2014/12/30 职场文书
护士实习自荐信
2015/03/06 职场文书
汽车销售员工作总结
2015/08/12 职场文书
先进个人主要事迹怎么写
2015/11/04 职场文书
小学班级口号大全
2015/12/25 职场文书
2016参观监狱警示教育活动心得体会
2016/01/15 职场文书
受欢迎的自荐信,就这么写!
2019/04/19 职场文书
高一作文之乐趣
2019/11/21 职场文书