vue中的nextTick的作用

vue里面,常用的事件onMounted里,总喜欢用一个nextTick:

javascript 复制代码
onMounted(() => {
  nextTick(() => {
    init();
  });
});

这个东西有啥用呢?我总搞不懂。

今天我忽然有点明白了。这是一个跟前面语句有关的方法。意思是,等前面的都执行完了,再执行nextTick里面的方法。比如说,页面上有一块内容,正常情况下是隐藏的,满足条件下才显示。这里用了v-if来控制。

页面

html 复制代码
    <!-- 正常尺寸窗口 -->
    <div
      class="pop-container pop-container-normal"
      v-if="state.show && !state.minsize"
    >
      <div class="win-head-banner" @click="minimize()">
        <el-icon><Close /></el-icon>
      </div>
      <warn-new ref="new1"></warn-new>
    </div>

脚本

javascript 复制代码
const new1 = ref();

const onMessage = () => {//某个事件触发了本函数,首先显示隐藏内容,然后调用其中的方法。
  restore();//展示隐藏部分
  nextTick(() => {
    new1.value.warning();//隐藏部分内容中,有一个部件new1,调用new1的方法
  });
};

由以上2段代码可知,某个事件触发下,首先显示隐藏内容,然后调用其中的某个部件的方法。假如这样写:

javascript 复制代码
  restore();//展示隐藏部分
  new1.value.warning();//隐藏部分内容中,有一个部件new1,调用new1的方法

结果就是new1的方法没有被调用。为啥,因为隐藏内容尚未展示完毕。加上nextTick就可以,意思我想应该是,等待前面的语句执行完,才触发nextTick里面的方法。

相关推荐
满怀10153 小时前
【Vue 3全栈实战】从响应式原理到企业级架构设计
前端·javascript·vue.js·vue
Minyy1112 小时前
Vue3指令(二)--v-text、v-html数据渲染,计算属性
前端·javascript·vue.js·前端框架·vue·html
.生产的驴17 小时前
Vue3 加快页面加载速度 使用CDN外部库的加载 提升页面打开速度 服务器分发
运维·服务器·前端·vue.js·分布式·前端框架·vue
程序员阿明2 天前
vite运行只能访问localhost解决办法
前端·vue
GISer_Jing2 天前
前端性能指标及优化策略——从加载、渲染和交互阶段分别解读详解并以Webpack+Vue项目为例进行解读
前端·javascript·vue
Watermelo6174 天前
前端如何应对精确数字运算?用BigNumber.js解决JavaScript原生Number类型在处理大数或高精度计算时的局限性
开发语言·前端·javascript·vue.js·前端框架·vue·es6
数字游名Tomda5 天前
我开源了一个免费在线工具!UIED Tools
开源·vue·在线工具
像鱼一样沦陷在代码大海5 天前
vue 中的ref
vue
MaCa .BaKa7 天前
37-智慧医疗服务平台(在线接诊/问诊)
java·vue.js·spring boot·tomcat·vue·maven
是梦终空7 天前
Python毕业设计219—基于python+Django+vue的房屋租赁系统(源代码+数据库+万字论文)
python·django·vue·毕业设计·毕业论文·源代码·房屋租赁系统