20180828内容补充:我的代码目录结构是这样的-src--conponents_mobile---bb.vue--conponents_pc---bb.vue然后通过路由判断是移动还是pc进入,使用的不同文件夹里的组件,是否有可能两个组件文件夹中有两个同名的文件才会看上去加载两次?<template>
<div class="a">
<bb v-show='registerComponentShow'></bb>
<cc v-show='projectComponentShow'></cc>
</div></template>如上面结构,我的一个组件 bb 里面的 mounted 生命周期被调用了两次,我就想是否是因为这个组件渲染了两次?然后我改成了如下<template>
<div class="a">
<bb v-if='registerComponentShow'></bb>
<cc v-if='projectComponentShow'></cc>
</div></template>这样 bb 里面的 mounted 就不会调用两次了。我的问题是,对于一个组件,假如给它加上了 v-show 是否就是在页面渲染的时候,第一次渲染 <bb></bb> 然后再判断 v-show 是否是 true,是真的就再次渲染,所以看上去 mounted 就执行了两次了。望不吝指教,谢谢。
2 回答
Smart猫小萌
TA贡献1911条经验 获得超7个赞
哥们,mounted在生命周期中只会执行一次。你的问题也没明白。简单来说v-if==false,代码不会执行。v-show会执行,这里说的是包在判断条件中的代码。其次你可以检测下代码是否有其他原因引起的。
添加回答
举报
0/150
提交
取消