• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >vue > vue指令以及dom操作详解

vue指令以及dom操作详解

作者:小漠007 字体:[增加 减小] 来源:互联网 时间:2017-05-30

本文主要包含vue获取dom元素,vue.js获取dom,vue dom操作,vue获取dom,vue 虚拟dom等相关知识,小漠007 希望在学习及工作中可以帮助到您

“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:{

      //定义指令
    }
  }
});

</div>

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> 
</div>

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

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

</div>

您可能想查找下面的文章:

  • vue的Virtual Dom实现snabbdom解密
  • vue动态生成dom并且自动绑定事件
  • 利用vue.js插入dom节点的方法
  • Vue获取DOM元素样式和样式更改示例
  • vue指令以及dom操作详解
  • 详解在Vue中通过自定义指令获取dom元素
  • Vue.js 2.0窥探之Virtual DOM到底是什么?
  • 探究Vue.js 2.0新增的虚拟DOM

相关文章

  • 2017-05-30Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
  • 2017-05-30详解vue组件化开发-vuex状态管理库
  • 2017-05-30基于vue实现多引擎搜索及关键字提示
  • 2017-05-30vue 2.0路由之路由嵌套示例详解
  • 2017-05-30使用vue编写一个点击数字计时小游戏
  • 2018-01-28Vue UI组件 开发框架 服务端 辅助工具 应用实例 Demo示例
  • 2017-05-30Vuex和前端缓存的整合策略详解
  • 2017-05-30Vue.js每天必学之计算属性computed与$watch
  • 2017-05-30Vue 父子组件、组件间通信
  • 2017-05-30基于Vue.js的表格分页组件

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 利用Vue.js框架实现火车票查询系统(附源码)
    • 使用vue.js实现checkbox的全选和多个的删除功能
    • vue-router跳转页面的方法
    • 深入对Vue.js $watch方法的理解
    • Vue.js 60分钟轻松入门
    • 使用vue.js制作分页组件
    • 最细致的vue.js基础语法 值得收藏!
    • vue2.0构建单页应用最佳实战
    • Vuejs第八篇之Vuejs组件的定义实例解析
    • Vue.js 父子组件通讯开发实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有