vue自定义指令定义及使用方式
2020-08-01 13:27
197 查看
全局自定义指令
Vue.directive('focus', { bind: function(el) { //表示当指令绑定到元素身上时会执行bind函数,只执行一次 //el代表被绑定指令的哪个元素,且函数中的第一个参数都为el.el是一个原生的js对象,里面有些元素的dom方法 // 绑定到元素身上时,数据尚在内存中,无法在页面中显示,所以el.focus()没有效果,而console.log('你好呀')可以显示 el.focus() console.log('你好呀') }, inserted: function(el) { //表示元素插入dom中的时候回执行inserted函数,只触发一次 el.focus() }, updated: function() { //当vNode更新的时候回执行updated函数,可以会触发多次 } })
私有指令
directives: { //定义私有指令 'wite': { bind: function(el, binding) { el.style.fontWeight = binding.value } } }
调用方式
<input type="text" v-focus v-color="'blue'">
注意事项
1、bind钩子函数中如果使用一个行为,如focus()获取焦点就是一个行为,那么无法显示在页面上,但是如果是使用的是样式就可以在页面中显示,如果el.style.color = binding.value,这是改变字体颜色的。
2、binding是用来获取传入的值的。
3、指令定义时候不需要加v-但是调用时需要加上 v-
4、vue中一般全局定义方法关键字都不带s,而私有关键词带s
相关文章推荐
- vue自定义指令,比onerror更优雅的方式实现当图片加载失败时使用默认图,提供三种方法
- Vue中的自定义指令和使用方式
- extern变量定义及使用方式实例
- xml通过schema方式的文档定义xsd,及使用示例
- vuex--state几种定义方式
- 在web.xml定义,在网页中使用变量实例 使用所有Servlet都可以访问的<context-param>方式
- MySql中游标的定义与三种使用方式(2)
- 使用数据库的方式来自定义存储用户session信息
- encodeURIComponent,encodeURI的使用以及在vue中用url传值的两种方式
- JS中定义对象方式二: 使用工厂方式创建对象(无参数传递)
- MySql中游标的定义与使用方式
- Java基础(21):泛型—泛型的定义、用法与类型通配符的使用方式
- MySql中游标的定义与使用方式
- Vue.js 定义组件模板的七种方式
- 使用Vue自定义指令实现Select组件
- 使用Vue实现图片上传的三种方式
- JS中定义对象方式二: 使用工厂方式创建对象(传递参数,及其改进方法)
- vb.net类的属性定义,使用方式
- AngularJS之基础-5 路由(定义路由、使用路由)、自定义指令(Directive)