Vue.directive注册指令
2024-08-24 19:00:14
指令定义函数提供了几个钩子函数(可选): vue指令的生命周期
bind
: 只调用一次,指令第一次绑定到元素时调用,用这个钩子函数可以定义一个在绑定时执行一次的初始化动作。inserted
: 被绑定元素插入父节点时调用(父节点存在即可调用,不必存在于 document 中)。update
: 被绑定元素所在的模板更新时调用,而不论绑定值是否变化。通过比较更新前后的绑定值,可以忽略不必要的模板更新(详细的钩子函数参数见下)。componentUpdated
: 被绑定元素所在模板完成一次更新周期时调用。unbind
: 只调用一次, 指令与元素解绑时调用。let app = new Vue({
el:'#app',
bind(){//进行绑定 },
inserted(){//进行插入 },
updata(){ //修改数据 },
componentUpdated (){ //修改以后 },
unbind(){ //解除绑定 }
})
// 注册一个全局自定义指令 v-focus
Vue.directive('focus', {
// 当绑定元素插入到 DOM 中。
inserted: function (el,binding) {
<span style="white-space:pre;"> </span>// 聚焦元素
<span style="white-space:pre;"> </span>el.focus();
}
}); new Vue({
el:'#app'
});
使用vue全局注册一个Vue的拖拽效果
Vue.directive('drag', {
inserted:function(el){
el.onmousedown=function(e){
let l=e.clientX-el.offsetLeft;
let t=e.clientY-el.offsetTop;
document.onmousemove=function(e){
el.style.left=e.clientX-l+'px';
el.style.top=e.clientY-t+'px';
};
el.onmouseup=function(){
document.onmousemove=null;
el.onmouseup=null;
}
}
}
})
new Vue({
el:'#app'
});
最新文章
- javaScript笔记
- NYOJ:题目490 翻译
- $(inherited) ";$(SRCROOT) 修改.a文件的路径 --Library Search Paths
- 51nod1376 最长递增子序列的数量
- java比.net优美的一个小地方
- 远离go path,弃用go get,使用go mod 进行go语言的学习
- python中剔除字典重复项,可以使用集合(set)。
- Python语法进阶
- tableview分割线
- LeetCode(5):最长回文子串
- 封装、构造方法、private、Static与this关键字、main()_Day07
- Map对象以及for of的使用方法
- 本博客已不再更新,新文章将发布在我的个人博客:https://www.tapme.top
- [转]VS 2012环境下使用MFC进行OpenGL编程
- PAT B1040 有几个PAT (25 分)
- gson 生成json有\u003d异常字符处理
- 设置ADB网络连接目标板
- 处理div 在IE6 IE7 IE8 不居中的问题
- ORA-00054 资源正忙
- java线程系列文章之一(线程的安全性)