vue 进阶系列之指令
2017-05-18 12:05
471 查看
vue 进阶之指令
vue里面有一些默认的指令,如v-show,v-if,v-model….,除了这些之外,我们还可以自定义指令来对纯 DOM 元素进行底层操。因为vue里面没有提供其他的操作dom的api,所以对dom操作的时候,可以选择用指令的形式,特别是在v-for数据循环的时候需要对dom进行一些操作时,用指令可以分别对每一个item进行操作
So…如果想对dom进行操作,选择指令吧。又好看,又实在~~
注意:写指令命的时候若是用驼峰如setFocus,在元素中,要用v-set-focus!
注册指令的方式:
全局注册Vue.directive('dir-name',{ bind:function(el,binding){ } })
组件内注册
directives: { dir-name: { bind:function(el,binding){ } } }
指令的钩子函数
bind元素第一次绑定时调用
inserted(常用)
元素从父节点插入时调用
update(常用)
被绑定元素所在的模板更新时调用,而不论绑定值是否变化.通过比较更新前后的绑定值,可以忽略不必要的模板更新
componentUpdated (基本不用)
被绑定元素所在模板完成一次更新周期时调用。
unbind (基本不用)
只调用一次, 指令与元素解绑时调用。
指令钩子函数中的参数
例子:<div v-dir-name:arg.mod='name' ></div> new Vue({ el: '#app', data: { name: 'Eric' }, directives: { dir-name: { } } })
el
指令所绑定的元素 ‘
<div v-dir-name:arg.mod='name' ></div>’
binding
name(指令名)—–>dir-name
value(绑定值)—–>Eric
oldValue(绑定的前一个值)
expression(绑定值的字符串形式)—–>name
modifiers(个包含修饰符的对象)—–>{mod:true}//暂时没发现有什么用。
arg(传给指令的参数)—–>arg
vnode (编译生成的虚拟节点)
oldVnode (上一个编译生成的虚拟节点)
相关文章推荐
- Vue.js 系列教程 1:渲染,指令,事件
- Vue.js学习系列(二十)--常用指令(三)
- Vue.js 系列教程 1:渲染,指令,事件
- vue 基础-->进阶 教程(2): 指令、自定义指令、组件
- vue从入门到进阶:指令与事件(二)
- [js高手之路] vue系列教程 - vue的基本用法与常见指令(1)
- vue 进阶系列之路由
- Vue.js学习系列(十七)--常用指令(一)
- Vue进阶系列之组件
- Vue.js学习系列(二十)--常用指令(三)
- Vue.js 系列教程 1:渲染,指令,事件
- 03-Vue入门系列之Vue列表渲染及条件渲染实战
- vue 指令
- 【Android进阶系列教程】前言
- Vue.js 系列教程 4:Vue
- 【 D3.js 进阶系列 — 3.0 】 分区图
- iPhone开发入门、进阶、技巧、游戏系列
- Vue.js 系列教程 3:Vue-cli,生命周期钩子
- Vue-Router进阶之滚动行为详解
- VUE的进阶 标签属性数据绑定和拼接