Javascript Vue保持活动-组件赢得';I don’在改变路线时,你不能活着

Javascript Vue保持活动-组件赢得';I don’在改变路线时,你不能活着,javascript,vue.js,vue-router,keep-alive,Javascript,Vue.js,Vue Router,Keep Alive,我将我的vue应用程序的主页定义为: <div class="wrapper"> <keep-alive> <app-header></app-header> </keep-alive> <router-view></router-view> </div> <script> import appHeader from '../components/He

我将我的vue应用程序的主页定义为:

<div class="wrapper">
    <keep-alive>
      <app-header></app-header>
    </keep-alive>
    <router-view></router-view>
</div>

<script>
import appHeader from '../components/Header';

export default {
  components: {
    appHeader
  }
/* etc... */
}

从“../components/Header”导入appHeader;
导出默认值{
组成部分:{
appHeader
}
/*等等*/
}
我的应用程序界面基本上就是这个仪表板,有许多不同的路由和子路由路径来显示许多页面,但在所有页面(组件)中,我希望在页面顶部显示应用程序标题

问题是,我最近注意到,每次单击按钮(改变vue router到另一个页面的路径)时,应用程序头都会被重新创建(调用created()lifecycle hook函数)

我真的不明白,既然我添加了keep alive,为什么不应该渲染一次呢

请帮我弄清楚这一点,我被卡住了,我真的研究了整个互联网


提前感谢

仅在由
标记包装的部分中,
保持活动状态
才有效。在这里,只有
app header
组件将保持活动状态。如果需要将其应用于管线内的所有组件,则必须将
放入

例如:



现在,“保持活动”将适用于所有路由。

这就是问题所在,我不希望路由保持活动,我只希望应用程序标题保持活动。问题是,当前,每次我更改路径时,应用程序头都会调用“创建的”生命周期挂钩方法,我会通过console.log检查。。我希望它被创建一次,而不是重新渲染,即使我更改了路由。然后,如果父组件本身包含在路由中,则有可能发生这种情况。如果没有看到您的组件结构和路由,就不可能说更多。谢谢您的回复。当我创建VueRouter对象时,我将routes(对象数组)放入其中,其中一个主要路由是“/dashboard”,它指向我发布的组件。在此之前,只有App.vue组件,它包含一个由。那么,“如果包含父组件本身”是什么意思?“/dashboard”路由有许多子路由,这些子路由在应用程序中路由到不同的位置,当我在那里导航并在子路由之间更改路由时,它会重新呈现。请帮助,我真的搞不清楚这一个:(
  <keep-alive>
    <router-view></router-view>
  </keep-alive>