我在编写Vue时遇到麻烦。我正在使用vue和vuetify。
有A
和B
页。只需进入A
或B
页面一次就没有问题。
但是,当按如下所示进入页面时,A
的创建函数将被调用两次。
A
-> B
-> A
menuselector.vue
<template>
<v-list>
<template v-for='(eachmenu) in menu'>
<v-list-item
:to='eachmenu.path'
>
<v-list-item-title>
{{eachmenu.title}}
</v-list-item-title>
</v-list-item>
</template>
</v-list>
</template>
<script>
export default {
name: 'selector',
data() {
return {
menu: [
{
title: 'A',
path: '/A',
}
{
title: 'B',
path: '/B',
}
]
}
}
}
</script>
router.vue
export default new Router({
mode: 'history',
base: process.env.BASE_URL,
routes: [
{
path: '/',
redirect: '/A',
component: TestComponent,
children: [
{
path: 'A',
component: () => import('@/component/A.vue'),
name: 'Acomponent',
},
{
path: 'B',
component: () => import('@/component/B.vue'),
name: 'Bcomponent',
}
]
}
]
})
A.vue&B.vue
<template>
test
</template>
<script>
export default {
beforeCreate() {
console.log('beforeCreate');
}
created() {
console.log('created');
}
}
</script>
控制台输出如下。
出什么问题了?
答案 0 :(得分:0)
<router-view>
用于切换组件)。您可以使用<keep-alive>
进行更改。请务必检查文档并了解其含义-您的应用将使用更多内存 <keep-alive>
<router-view :key="$route.fullPath"></router-view>
</keep-alive>