自定义指令的目的:需要对普通 DOM 元素进行底层操作,这时候就会用到自定义指令。
<div id="app">
自动获取焦点:<input type="text" v-auto-focus>
</div>
<script>
//全局指令
Vue.directive("auto-focus", {
inserted: function (el, binding) {
// el 代表使用了此指令的那个 DOM 元素
// binding 可获取使用了此指令的绑定值 等
el.focus()
}
}
);
Vue.directive("指令名称", {
inserted: function (el, binding) {
// el 代表使用了此指令的那个 DOM 元素
// binding 可获取使用了此指令的绑定值
//逻辑代码
}
}
);
<div id="app">
自动获取焦点:<input type="text" v-focus>
</div>
<script>
new Vue({
el: "#app",
data: {},
//只在当前Vue实例中生效
directives:{
"focus":{
inserted:function (el,binging) {
//逻辑代码
el.focus()
}
}
}
})
</script>
directives:{
"指令名称":{
inserted:function (el,binging) {
//逻辑代码
}
}
}
注意:
注册时,
指令名称前不要带 v-,因为内部处理会自动加上v-。
指令名称中间不要有大写字母,开头可以出现大写字母
使用自定义指令
在引用指令时,指令名前面加上 v-
直接在元素上在使用即可 :v-指令名=‘表达式’,例如:
<input type="text" v-auto-focus>
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |