VueJS - 过渡不起作用
VueJS - Transition not working
无论组件是否必须显示,我都在尝试应用转换。
我想知道为什么这个简单的例子不起作用:http://jsfiddle.net/bf830qoq/
Javascript
Vue.component('loading', {
template: '#loading-template',
});
new Vue({
el: '#app',
data: {
showLoging: false
}
});
HTML
<script type="x/template" id="loading-template">
<transition="slide-fade">
<div>Loading</div>
</transition>
</script>
<!-- app -->
<div id="app">
<loading v-if='showLoging'></loading>
<button id="show-login" @click="showLoging = !showLoging">Show</button>
</div>
CSS
.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;
}
您的模板中有错字,目前无效
<script type="x/template" id="loading-template">
<transition="slide-fade">
<div>Loading</div>
</transition>
</script>
名字属性应该写得正确
<script type="x/template" id="loading-template">
<transition name="slide-fade">
<div>Loading</div>
</transition>
</script>
您的语法错误,您必须为 transition 使用名称属性,如下所示:
<transition name="slide-fade" mode="in-out">
<div>Loading</div>
</transition>
查看工作 fiddle。
无论组件是否必须显示,我都在尝试应用转换。 我想知道为什么这个简单的例子不起作用:http://jsfiddle.net/bf830qoq/
Javascript
Vue.component('loading', {
template: '#loading-template',
});
new Vue({
el: '#app',
data: {
showLoging: false
}
});
HTML
<script type="x/template" id="loading-template">
<transition="slide-fade">
<div>Loading</div>
</transition>
</script>
<!-- app -->
<div id="app">
<loading v-if='showLoging'></loading>
<button id="show-login" @click="showLoging = !showLoging">Show</button>
</div>
CSS
.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;
}
您的模板中有错字,目前无效
<script type="x/template" id="loading-template">
<transition="slide-fade">
<div>Loading</div>
</transition>
</script>
名字属性应该写得正确
<script type="x/template" id="loading-template">
<transition name="slide-fade">
<div>Loading</div>
</transition>
</script>
您的语法错误,您必须为 transition 使用名称属性,如下所示:
<transition name="slide-fade" mode="in-out">
<div>Loading</div>
</transition>
查看工作 fiddle。