Nuxt child 转换在某些情况下不起作用
Nuxt child transitions not working in some cases
我有一个带有简单 child/grandchild 2 层嵌套的应用程序,我正在尝试在 nuxt-child(ren) 的两个层上进行转换。奇怪的是,转换在 grandchild 上运行良好,但由于某种原因在 child 上不起作用,即使它是相同的转换。我可以在检查器中检查并验证它是否正确应用了 类。最终发生的事情是,它不是平稳过渡 500 毫秒,而是暂停 500 毫秒并呈现 child 页面。
Here's the simple repo demonstrating the issue. Here's the code sandbox 已部署应用。
这是我进行转换的方式:
模板:
<transition name="jade" mode="out-in">
<nuxt-child></nuxt-child>
</transition>
风格:
.jade-enter-active {
transition: all .3s ease;
}
.jade-leave-active {
transition: all .8s cubic-bezier(1.0, 0.5, 0.8, 1.0);
}
.jade-enter, .jade-leave-to
{
transform: translateX(10px);
opacity: 0;
}
虽然我不完全确定为什么会这样,但有两种方法可以解决这个问题
- 在各个页面中使用
transition
属性 (Nuxt Docs)
/src/index.vue
export default {
transition: {
name: 'jade',
mode: 'out-in'
}
}
- 在
nuxt.config.js
中设置pageTransition
,这将全局应用于所有过渡组件(Nuxt Docs)
/nuxt.config.js
export default {
pageTransition: 'jade'
// or
pageTransition: {
name: 'jade',
mode: 'out-in'
}
}
这是我的 Sandbox link 使用 transition
属性
我有一个带有简单 child/grandchild 2 层嵌套的应用程序,我正在尝试在 nuxt-child(ren) 的两个层上进行转换。奇怪的是,转换在 grandchild 上运行良好,但由于某种原因在 child 上不起作用,即使它是相同的转换。我可以在检查器中检查并验证它是否正确应用了 类。最终发生的事情是,它不是平稳过渡 500 毫秒,而是暂停 500 毫秒并呈现 child 页面。
Here's the simple repo demonstrating the issue. Here's the code sandbox 已部署应用。
这是我进行转换的方式:
模板:
<transition name="jade" mode="out-in">
<nuxt-child></nuxt-child>
</transition>
风格:
.jade-enter-active {
transition: all .3s ease;
}
.jade-leave-active {
transition: all .8s cubic-bezier(1.0, 0.5, 0.8, 1.0);
}
.jade-enter, .jade-leave-to
{
transform: translateX(10px);
opacity: 0;
}
虽然我不完全确定为什么会这样,但有两种方法可以解决这个问题
- 在各个页面中使用
transition
属性 (Nuxt Docs)
/src/index.vue
export default {
transition: {
name: 'jade',
mode: 'out-in'
}
}
- 在
nuxt.config.js
中设置pageTransition
,这将全局应用于所有过渡组件(Nuxt Docs)
/nuxt.config.js
export default {
pageTransition: 'jade'
// or
pageTransition: {
name: 'jade',
mode: 'out-in'
}
}
这是我的 Sandbox link 使用 transition
属性