2017-02-17 9 views
0

動的動的遷移成分VueJS 2

親コンポーネント

<child></child> 

子コンポーネント

遷移

<transition name="fade"> 
    <p v-if="show">hello</p> 
</transition> 

.fade-enter-active, .fade-leave-active { 
    transition: opacity .5s 
} 
.fade-enter, .fade-leave-to /* .fade-leave-active in <2.1.8 */ { 
    opacity: 0 
} 

遷移AとBとの間で切り替えることができるようにします遷移B(animate.cssライブラリを使用)

<transition 
    name="custom-classes-transition" 
    enter-active-class="animated tada" 
    leave-active-class="animated bounceOutRight" 
    > 
    <p v-if="show">hello</p> 
    </transition> 
+0

私は[ここ](https://fiddle.jshell.net/mimani/9z4zj5za/)この作業を見ることができ、あなたはあなたを再現することができます場合? – Saurabh

+0

これは、トランジションの名前を変更するのではなく、1つのカスタムクラスを使用したいが、もう1つはカスタムクラスを使用したいということです。最初の移行は名前が衰退したトランジションになります。 2番目のトランジションは、animate.cssのSlideInUpのようなカスタムクラスを使用します –

+0

Somehting like:https://fiddle.jshell.net/j9h3Lmr5/(それは動作しません) –

答えて

2

enterClassleaveClassを適切に割り当てることで、動的な遷移を行うことができます。 https://fiddle.jshell.net/j9h3Lmr5/1/

JS:ここで働いてデモがある

var vm = new Vue({ 
    el: '#vue-instance', 
    data: { 
    show: true, 
    transitionType: "fade", 
    enterClass: "fade-enter", 
    leaveClass: "fade-enter-active" 
    }, 
    methods: { 
    changeTransition() { 
     if (this.transitionType === "fade") { 
     this.transitionType = "custom-classes-transition" 
     this.enterClass = "animated slideInUp" 
     this.leaveClass = "animated slideOutDown" 
     } else { 
     this.transitionType = "fade" 
      this.enterClass = "fade-enter" 
      this.leaveClass = "fade-enter-active" 
     } 
    } 
    } 
}); 
+0

これはまさに私が混乱していたものです!どうもありがとう –