mirror of
https://github.com/veops/cmdb.git
synced 2025-08-12 07:27:43 +08:00
Modify code organization
This commit is contained in:
32
cmdb-ui/src/layouts/RouteView.vue
Normal file
32
cmdb-ui/src/layouts/RouteView.vue
Normal file
@@ -0,0 +1,32 @@
|
||||
<script>
|
||||
export default {
|
||||
name: 'RouteView',
|
||||
props: {
|
||||
keepAlive: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {}
|
||||
},
|
||||
render () {
|
||||
const { $route: { meta }, $store: { getters } } = this
|
||||
const inKeep = (
|
||||
<keep-alive>
|
||||
<router-view />
|
||||
</keep-alive>
|
||||
)
|
||||
const notKeep = (
|
||||
<router-view />
|
||||
)
|
||||
// 这里增加了 multiTab 的判断,当开启了 multiTab 时
|
||||
// 应当全部组件皆缓存,否则会导致切换页面后页面还原成原始状态
|
||||
// 若确实不需要,可改为 return meta.keepAlive ? inKeep : notKeep
|
||||
if (!getters.multiTab && !!meta.keepAlive) {
|
||||
return notKeep
|
||||
}
|
||||
return this.keepAlive || getters.multiTab || meta.keepAlive ? inKeep : notKeep
|
||||
}
|
||||
}
|
||||
</script>
|
Reference in New Issue
Block a user