mirror of
https://github.com/nuxt/nuxt.git
synced 2025-02-06 21:10:38 +00:00
parent
2b2d9e5e71
commit
549b8da21f
@ -14,12 +14,23 @@ let router
|
|||||||
<%= (store ? 'let store' : '') %>
|
<%= (store ? 'let store' : '') %>
|
||||||
|
|
||||||
function mapTransitions(Components, to, from) {
|
function mapTransitions(Components, to, from) {
|
||||||
|
const resolve = t => (typeof t.options.transition === 'function')
|
||||||
|
? t.options.transition(to, from)
|
||||||
|
: Object.assign({}, t.options.transition)
|
||||||
|
|
||||||
|
const resolveRoute = r => resolve(r.matched[0].components.default)
|
||||||
|
|
||||||
return Components.map((Component) => {
|
return Components.map((Component) => {
|
||||||
let transition = Component.options.transition
|
let transitions = Object.assign({}, to ? resolveRoute(to) : resolve(Component))
|
||||||
if (typeof transition === 'function') {
|
// Combine transitions
|
||||||
return transition(to, from)
|
// Prefer leave* transitions of from route
|
||||||
|
let from_transitions = from ? resolveRoute(from) : {}
|
||||||
|
Object.keys(from_transitions).forEach(key=> {
|
||||||
|
if(from_transitions[key] && key.toLowerCase().indexOf('leave') !== -1) {
|
||||||
|
transitions[key] = from_transitions[key]
|
||||||
}
|
}
|
||||||
return transition
|
})
|
||||||
|
return transitions
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user