我的路线定义如下
{
path: '/menu',
component: () => import('./Menu.vue'),
children: [
{
path: 'admin',
component: () => import('./menus-admin/MenusAdmin.vue'),
name: 'menusAdmin'
},
{
path: 'import',
component: () => import('./menus-admin/menus-import/MenusImport.vue'),
name: 'menusImport'
}
]
}
当我使用admin
组件在import
和router-link
路线之间导航时,父Menu.vue
组件被破坏并再次创建。我希望Menu.vue
组件不会被破坏,除非我导航到完全不同的路线。这是一个问题,因为我实现了一些生命周期挂钩,当子路由更改时,我不想一遍又一遍地调用它们。
难道我做错了什么?这是错误还是功能?
答案 0 :(得分:0)
我发现了问题。我的<router-view>
上有:key="$route.fullPath"
。那就是迫使它在每次路线更改时重新渲染所有内容。
删除了它,并按预期工作。