mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-27 16:12:12 +00:00
wip: Add keep-alive prop to <nuxt/> and <nuxt-child/>
This commit is contained in:
parent
93f3082c43
commit
1ea0a9a6f2
@ -1,7 +1,8 @@
|
||||
export default {
|
||||
name: 'nuxt-child',
|
||||
functional: true,
|
||||
render (h, { parent, data }) {
|
||||
props: ['keepAlive'],
|
||||
render (h, { parent, data, props }) {
|
||||
data.nuxtChild = true
|
||||
const _parent = parent
|
||||
const transitions = parent.$nuxt.nuxt.transitions
|
||||
@ -29,12 +30,18 @@ export default {
|
||||
}
|
||||
})
|
||||
|
||||
let routerView = [
|
||||
h('router-view', data)
|
||||
]
|
||||
if (typeof props.keepAlive !== 'undefined') {
|
||||
routerView = [
|
||||
h('keep-alive', routerView)
|
||||
]
|
||||
}
|
||||
return h('transition', {
|
||||
props: transitionProps,
|
||||
on: listeners
|
||||
}, [
|
||||
h('router-view', data)
|
||||
])
|
||||
}, routerView)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5,7 +5,7 @@ import { compile } from '../utils'
|
||||
|
||||
export default {
|
||||
name: 'nuxt',
|
||||
props: ['nuxtChildKey'],
|
||||
props: ['nuxtChildKey', 'keepAlive'],
|
||||
render(h) {
|
||||
// If there is some error
|
||||
if (this.nuxt.err) {
|
||||
@ -17,7 +17,8 @@ export default {
|
||||
}
|
||||
// Directly return nuxt child
|
||||
return h('nuxt-child', {
|
||||
key: this.routerViewKey
|
||||
key: this.routerViewKey,
|
||||
props: this.$props
|
||||
})
|
||||
},
|
||||
beforeCreate () {
|
||||
|
Loading…
Reference in New Issue
Block a user