lamp网站开发制作,wordpress画廊,房地产营销门户网站建设,wordpress联系人表单$nextTick 1、问题2、$nextTick3、应用场景 1、问题
Vue 实现响应式#xff0c;在 data 更新后#xff0c;一定时间内#xff0c;没有继续操作DOM#xff0c;然后会触发浏览器渲染引擎去更新DOM#xff0c;更新DOM也是需要时间的#xff0c;所以 data 更新引起的 DOM更新… $nextTick 1、问题2、$nextTick3、应用场景 1、问题
Vue 实现响应式在 data 更新后一定时间内没有继续操作DOM然后会触发浏览器渲染引擎去更新DOM更新DOM也是需要时间的所以 data 更新引起的 DOM更新并不是实时的。
2、$nextTick
this.$nextTick(() {// ...
});$nextTick 是在下次 DOM 更新循环结束之后执⾏延迟回调在修改数据之后使⽤ $nextTick则可以在回调中获取更新后的 DOM在下次 DOM 更新循环结束之后执行延迟回调。当数据更新了在dom中渲染后⾃动执⾏该函数。
3、应用场景 Tips显示组件并调用组件的初始化方法
templatediv idappSon v-ifshowSonComponent refsonComponent //div
/templatescript
import Son from ./components/SlotComponents/Son
export default {name: App,components: { Son },data() {return {showSonComponent: false}},methods: {init() {// 更新该变量会引起 DOM 更新this.showSonComponent truethis.$nextTick(() {// 需要等DOM更新完成后调用init方法this.$refs.sonComponent.init()})}}
}
/scriptstyle
#app {font-family: Avenir, Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;background: #4a90e2;color: #fff;padding: 20px;
}
.slot-contant {color: #f00;font-size: 16px;
}
/style