uniapp,mounted 执行多次

1. 问题描述:

加载某页面时,发现某一个组件的mounted,created生命周期函数执行了5次。mounted表示已经挂载该组件到界面上。

2. 原因分析:

因为界面上复用了该组件5次。

3. 总结:

在排查得到此结果之前,在网上查到可能会出现mounted被执行多次的原因,在此记录一下:

1)在组件中使用<router-view>;

2)组件被异步加载,导致组件的mounted函数被多次执行。这时可以添加一个判断条件,防止重复执行mounted函数。

3)在组件内部使用了 v-if 或 v-show 等条件渲染指令,导致组件在渲染后又被重新渲染了一次。这时可以把相关的代码移动到 created 函数里面执行。

4)组件引用了其他组件。

以上方法摘抄:

 

posted @ 2023-05-14 21:44  上向天天  阅读(1426)  评论(0编辑  收藏  举报