mirror of https://github.com/veops/cmdb.git
33 lines
789 B
Python
33 lines
789 B
Python
<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>
|