指令定义函数提供了几个钩子函数(可选): 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'
});

最新文章

  1. javaScript笔记
  2. NYOJ:题目490 翻译
  3. $(inherited) &quot;$(SRCROOT) 修改.a文件的路径 --Library Search Paths
  4. 51nod1376 最长递增子序列的数量
  5. java比.net优美的一个小地方
  6. 远离go path,弃用go get,使用go mod 进行go语言的学习
  7. python中剔除字典重复项,可以使用集合(set)。
  8. Python语法进阶
  9. tableview分割线
  10. LeetCode(5):最长回文子串
  11. 封装、构造方法、private、Static与this关键字、main()_Day07
  12. Map对象以及for of的使用方法
  13. 本博客已不再更新,新文章将发布在我的个人博客:https://www.tapme.top
  14. [转]VS 2012环境下使用MFC进行OpenGL编程
  15. PAT B1040 有几个PAT (25 分)
  16. gson 生成json有\u003d异常字符处理
  17. 设置ADB网络连接目标板
  18. 处理div 在IE6 IE7 IE8 不居中的问题
  19. ORA-00054 资源正忙
  20. java线程系列文章之一(线程的安全性)

热门文章

  1. UVA12171-Sculpture(离散化+floodfill)
  2. win7重装系统
  3. 让sublime text3支持Vue语法高亮显示
  4. java开发过程问题及解决
  5. MATLAB——径向基网络拟合曲线和分类
  6. DButils实现增删查改
  7. Java并发(三)线程池原理
  8. AI 矩阵求导
  9. odoo 订餐系统之消息提醒
  10. webpackt入门1:webpack介绍&amp;webpack安装&amp;使用webpack打包