解决vue 路由子组件created和mounted不起作用问题

判断项目是否启用keep-alive

启用

  1. 使用exclude排除组件(我没有成功不知道为什么)
    <keep-alive exclude="needExcludeComponentName">
     <router-view></router-view>
    </keep-alive>
    
  2. 使用v-if判断(成功解决)
    <keep-alive  v-if="!$route.meta.noKeepAlive">
     <router-view></router-view>
    </keep-alive>
    <router-view v-if="$route.meta.noKeepAlive"></router-view>
    
    可以看到,我是通过meta里面的属性来判断,决定只用哪种router-view的,属性名称可以随便取,因为我这里是成形项目,路由比较多,原本也没有这个属性,所以加了一个noKeepAlive来判断

未启用

代码写错了,建议去看官方文档(生命周期),其中有对生命周期的讲解

Logo

前往低代码交流专区

更多推荐