javascript - Vue 3 – 淡入淡出过渡
问题描述
然而,我阅读了 Vue 2 的转换更改并阅读了 Vue 3 文档,但我仍然无法弄清楚如何使转换工作。我对 Vue 很陌生。
旧页面应该淡出,新页面应该淡入,但我无法让它工作。
<transition>
除了默认组件之外,我真的不知道在包装器中写什么。我尝试将组件更改为视图的名称,但这不起作用。
我的App.vue
<router-view :key="route.path" v-slot="{Component}" />
<transition name="fade" mode="out-in">
<component :is="Component" />
</transition>
</router-view>
我的 CSS:
.fade-enter-active,
.fade-leave-active {
transition: opacity 1s ease;
}
.fade-enter-from,
.fade-leave-active {
opacity: 0;
}
我的文件夹结构:
Components: – Header.vue
| - Footer.vue
|
Views: - Home.vue
- About.vue
- Something.vue
感谢您提供有关如何使淡入淡出工作的任何提示!
解决方案
尝试.fade-leave-to
改用:
Vue.createApp({
setup() {
const test = Vue.ref(false);
return { test }
}
}).mount('#app')
.fade-enter-active,
.fade-leave-active {
transition: opacity 1s ease;
}
.fade-enter-from,
.fade-leave-to {
opacity: 0;
}
<script src="https://unpkg.com/vue@next"></script>
<div id="app">
<transition name="fade" mode="out-in">
<div v-if="test">FADE</div>
</transition>
<button @click="test = !test">TOGGLE</button>
</div>
使用您的代码段的示例:
<router-view v-slot="{ Component }">
<transition name="fade" mode="out-in">
<component :is="Component" />
</transition>
</router-view>
.fade-enter-active,
.fade-leave-active {
transition: opacity 1s ease;
}
.fade-enter-from,
.fade-leave-to {
opacity: 0;
}
推荐阅读
- java - Java | acessing object variables from inside constructor?
- r - 当“which”函数找不到值时怎么办?
- python - 每当我单击 APP GUI 中的任何位置时,打印困难(“ok”)
- python - 格式化&符号会添加意外字符
- drupal - 我可以在 Drupal 8 Webform Submissions 上重新排序导出 CSV 的列吗?
- python - Python,调用具有参数默认值的函数
- python - 如何使用语音 gtts 进行用户输入
- maintenance-mode - CloudSQL Server 陷入维护模式
- tensorflow - 在 Tensorflow 中执行 Mandlebrot 示例的更有效方法
- pyspark - 在 pyspark 中使用 union 或 append 组合两个不同宽度的数据帧