【发布时间】:2017-06-20 03:44:45
【问题描述】:
编辑简化问题
为什么那个极简示例中的过渡不起作用? (它模仿了我代码中的真实案例)
以前的帖子
我想根据 v-if 条件在 VueJs 2 中的自定义组件上应用过渡。
我试图把transition inside组件加载:
父组件
<loading v-if="shared.loading"></loading>
加载.vue
<template>
<transition name="slide-fade">
<div class="loading-container">
<div class="container-no-text">
<div class="title-no">Loading</div>
</div>
</div>
</transition>
</template>
<script>
import Store from '../store.js'
export default{
data () {
return {
shared: Store.state,
}
},
}
</script>
<style>
.slide-fade-enter-active {
transition: all .3s ease;
}
.slide-fade-leave-active {
transition: all .8s cubic-bezier(1.0, 0.5, 0.8, 1.0);
}
.slide-fade-enter, .slide-fade-leave-to
/* .slide-fade-leave-active for <2.1.8 */ {
transform: translateX(10px);
opacity: 0;
}
</style>
它根本不起作用,登录消失,没有任何动画。
我试图用 JSFiddle 模拟这种情况:
-
外部过渡:http://jsfiddle.net/0v0wyLv0/ WORKING
-
内部转换:http://jsfiddle.net/jpcays2b/ 不工作
以下是问题:
- 为什么第二个 JSFiddle 不起作用(内部那个)?
- 为什么在我的代码中“外部”不起作用?
- 如何让加载组件平滑消失?
工作示例
https://jsfiddle.net/er3tjyh0/
谢谢
【问题讨论】:
标签: javascript css transition vuejs2