Vue.nextTick() 和Vue.nextTick() 使用案例 àì夳堔傛蜴生んèń 2022-01-19 21:13 564阅读 0赞 在下次DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。 虽然 vue.js 通常鼓励开发人员用 数据驱动 的方式思考, 避免直接接触 DOM ,但有时我们必须要这么做。 比如你在vue的生命周期的 mounted() 钩子函数进行的 DOM 操作一定要放在 Vue.nextTick()的回调函数中。 Vue.$nextTick(callback),当dom发生变化,更新后执行的回调。 因为在 mounted() 钩子函数执行的时候 DOM 其实并未进行任何的渲染,而此时进行的 DOM 操作无异于徒劳,所以此处一定要将 DOM 操作的js代码 放到 Vue.$nextTick() 的回调函数中。 Vue.$nextTick()不需要全局 Vue,在函数回调中的 this 将自动绑定到当前Vue实实例上。 Vue.component('example', { template: '<span>{ { message }}</span>', data: function () { return { message: '未更新' } }, methods: { updateMessage: function () { this.message = '更新' console.log(this.$el.textContent) // => '未更新' this.$nextTick(function () { console.log(this.$el.textContent) // => '已更新' }) } } } 复制代码 $nextTick() 返回的是一个 Promise 对象,所以可以使用新的 ES2016 async/await 语法完成相同的事: methods: { updateMessage: function () { this.message = '更新' console.log(this.$el.textContent) // => '未更新' await this.$nextTick() console.log(this.$el.textContent) // => '已更新' } } 复制代码 Vue.nextTick(callback),当数据发生变化,更新后执行回调。 为了在数据变化之后等待 Vue完成更新 DOM,可以在数据变化之后立即使用 Vue.nextTick()。这样回调函数想在 Dom更新完成之后被调用。 <div id="example">{ {message}}</div> var vm = new Vue({ el: '#example', data: { message: '123' } }) vm.message = 'new message' // 更改数据 vm.$el.textContent === 'new message' // false Vue.nextTick(function () { vm.$el.textContent === 'new message' // true }) 复制代码
相关 Java并发工具使用案例:CountDownLatch和Semaphore CountDownLatch和Semaphore是Java并发库中常用的两种同步工具,它们主要用于控制多个线程的执行顺序。 1. CountDownLatch(计数器倒计时) 快来打我*/ 2024年10月24日 23:33/ 0 赞/ 9 阅读
相关 Java反射机制:使用和问题案例 Java反射机制是Java语言提供的一种允许程序在运行时对类、对象以及方法进行操作的功能。以下是如何使用反射,以及一些问题案例: 1. 使用反射: a) 创建对象:通过 红太狼/ 2024年09月17日 01:21/ 0 赞/ 40 阅读
相关 Java并发工具:CountDownLatch和CyclicBarrier使用案例 `CountDownLatch`和`CyclicBarrier`是Java中两个常用的并发工具,主要用于协调多个线程的执行。 1. CountDownLatch使用案例: 谁借莪1个温暖的怀抱¢/ 2024年09月10日 08:33/ 0 赞/ 69 阅读
相关 AC和AP wlan使用案例 关于AC和AP的一篇 `拓补图:` ![在这里插入图片描述][6cdba476d26e4259bbafdd31d53aacd2.png] AC1 ... 港控/mmm°/ 2024年04月17日 11:39/ 0 赞/ 51 阅读
相关 MyBatis的使用和案例 一、MyBatis简介 MyBatis是一款优秀的持久层框架,用于简化JDBC开发。官方文档: [mybatis – MyBatis 3 | 简介][mybatis _ 青旅半醒/ 2024年03月31日 09:20/ 0 赞/ 51 阅读
相关 JavaWeb使用Response和Servlet生成验证码案例_黑马javaweb案例 > 黑马程序员JavaWeb网课案例笔记 > 比较初级的验证码生成 文章目录 一、验证码简介 二、代码展示 案例升级 一、验证码简介 验证 末蓝、/ 2023年09月23日 14:59/ 0 赞/ 113 阅读
相关 Jsoup和JsoupXpath的实际使用案例 目录 代码说明 示例代码 执行结果 参考文档 代码说明 > 示例代码涉及以下内 待我称王封你为后i/ 2022年09月10日 13:27/ 0 赞/ 439 阅读
相关 C++map和set的简单理解和使用案例 Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力,由于这个特性,它完成有可能 末蓝、/ 2022年06月07日 08:42/ 0 赞/ 184 阅读
相关 Vue.nextTick() 和Vue.nextTick() 使用案例 在下次DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。 虽然 vue.js 通常鼓励开发人员用 数据驱动 的方式思考, 避免直接接 àì夳堔傛蜴生んèń/ 2022年01月19日 21:13/ 0 赞/ 565 阅读
还没有评论,来说两句吧...