Vue-14-给DOM元素添加事件的特殊情况
2020-06-04 06:45
232 查看
一、知识点部分
- $nextTick():基于更新后的视图来搞点事情,我们可以使用$nextTick(callback)。这里的回调函数(callback)将在数据更新完成,视图更新完毕之后被调用。(可以联想一下在angular1.x开发过程中,在接收到返回值的时候有时候需要使用setTimeout,在vue中使用$nextTick就可以解决问题了)我们可以通过$nextTick() 获取到更新之后的DOM。
- 如果要在created()钩子函数中进行的DOM操作,由于created()钩子函数中还未对DOM进行任何渲染,所以无法直接操作。(这个地方存在疑问,还需要继续研究)。
- 钩子的 this 指向调用它的 Vue 实例。
附上生命周期的图示:
二、代码部分
//Q:实现input加载之后获取到焦点 Vue.component("subCom",{ data(){ return{ isShow:false } }, template:` <input type="text" v-show="isShow" ref="input" v-model="content" /> `, created(){ }, beforeMount(){ }, mounted(){ //此时修改了isShow的值 所以input显示出来了 this.isShow = true; console.log(this.$refs.input);//获取到的是数据未更新前的DOM<input type="text" style="display: none;"> 隐藏状态 this.$nextTick(function(){ //console.log(this.$refs.input);//获取到的是数据更新后的DOM<input type="text" style=""> 显示状态 this.$refs.input.focus();//组件渲染之后input获得焦点 }) } }) new Vue({ el:"#app", template:` <div> <subCom ref="subCom"/> </div> ` })
相关文章推荐
- Vue 获取DOM元素 ,给DOM增加事件的特殊情况
- vue基础(五):给DOM添加事件的特殊情况 $nextTick
- 动态添加dom元素,并绑定VUE事件
- vue 初始化为dom元素添加事件 vm.$nextTick( [callback] )
- 原生js中的事件委托(为新添加的DOM元素添加事件)
- js 给dom元素添加事件
- Vue同一个dom元素如何绑定多个点击事件?
- DOM获取元素及添加事件
- Javascript为元素动态的添加事件包括两种情况:
- VUE中v-on:click事件中获取当前dom元素的代码
- javascript,jquery动态添加dom元素,并设定css属性,点击事件
- 为一个DOM元素添加事件有几种方式,分别是什么?
- 第5天(就业班) BOM、window对象、事件、location对象、screen对象、Dom编程根据属性找节点、通过关系找节点、添加附件、联动框、操作元素的css样式、正则表达式
- 如何在通过knockout数据绑定的DOM元素上添加事件
- 【Vue】处理边界情况:访问根实例、父级组件实例、子组件实例或子元素,依赖注入、程序化事件侦听器、循环引用、内联模板、X-Template、控制更新:强制更新、 v-once 创建低开销静态组件
- js 修改svg样式、动态加入DOM元素、添加事件响应函数
- 给dom元素添加事件的监听
- vue.js对事件添加的dom怎么渲染
- 给dom元素添加事件处理的两种方法
- vue获取当前事件的dom元素 var thisDom = e.currentTarget;