【发布时间】:2020-07-06 23:48:19
【问题描述】:
我将我的 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... */
}
我的app UI基本上是从这个组件开始的,有很多不同的路由和子路由路径来显示很多页面,但是在所有页面(组件)中我想在页面顶部显示app-header。
问题是我最近注意到,每点击一个按钮(这会改变 vue-router 到另一个页面的路由),app-header 会被重新创建(调用 created() 生命周期钩子函数)
我真的不明白为什么,既然我加了keep-alive,就不应该渲染一次吗?
请帮我解决这个问题,我被卡住了,我确实研究了整个互联网。
请注意!我不希望路线保持活力,只希望应用标头本身
以下是查看我的更多代码的链接,这可能有助于您更好地理解:
请注意,在 Vue 的 main.js 中,我导入了路由器并将它的第一个参数放在像“new Vue({router, store, vuetify, render: h => h(App)}).$mount 这样的对象中('#应用程序');”。 “App”是发布的 App.vue 的导入,而 vuetify 是您可能已经知道的插件。如果您需要其他任何东西,请告诉我,非常感谢您的帮助!
提前致谢
【问题讨论】:
标签: vue.js vuejs2 vue-component vue-router keep-alive