vue-routerのナビゲーション遷移アニメーションの切り替え
2555 ワード
前のvue-router編では、小さなdemo、簡単なページアプリケーション、ブログの雛形を作成しました.切り替えがやや硬いことを考慮して,ここでは動効を加えてユーザ体験を向上させる.
transitionのパッケージコンポーネントを提供し、遷移アニメーションを追加し、cssクラス名を追加または削除することで実現します.
遷移のcssクラス名:
v-enter遷移の開始状態に入る
v-enter-activeアクティブ
v-enter-toが入る終了状態
v-leave移行の開始状態から離れる
v-leave-activeアクティブから離れる
v-leave-to離脱終了状態
遷移モード:
In-out先进后出
out-in先出後進
使用方法:
フェードアウト効果を作成
動きたい要素を中に入れて、モードを設定します.
styleに動効を書きます.
OKだ!
もう1つx軸を左と右にスライドして消失効果に入ります.
transitionラベルでnameで効果を動的に設定します.このときmode=「out-in」を削除して自然につなげます.
右に切り替え:
左の左、右の右切り替えを実現するには
ルーティング構成ではmetaは、ルーティングオブジェクトで使用するいくつかのデータを構成できます.
metaのデータにアクセス:$route.meta
すなわち,提供されるルーティング構成情報に加えてmetaにより所望のデータをカスタマイズすることもできる.
左の左、右の右を切り替えます.
Step 1:各コンポーネントにindexを追加し、ターゲットルーティングのindexが大きい場合は右にスライドし、そうでない場合は左にスライドします.
0,1,2,3そうです.
Step 2:ルーティング情報オブジェクト(前の記事で説明した理由)を監視し、離れたターゲットのindexを手に入れることができます.
Step 3:マークを外し、class名を比較設定
転載先:https://www.cnblogs.com/PeriHe/p/8000561.html
トランジション効果
transitionのパッケージコンポーネントを提供し、遷移アニメーションを追加し、cssクラス名を追加または削除することで実現します.
遷移のcssクラス名:
v-enter遷移の開始状態に入る
v-enter-activeアクティブ
v-enter-toが入る終了状態
v-leave移行の開始状態から離れる
v-leave-activeアクティブから離れる
v-leave-to離脱終了状態
遷移モード:
In-out先进后出
out-in先出後進
使用方法:
フェードアウト効果を作成
動きたい要素を中に入れて、モードを設定します.
styleに動効を書きます.
.v-enter{
opacity: 0;
}
.v-enter-active{
transition: 0.5s;
}
.v-enter-to{
opacity: 1;
}
.v-leave{
opacity: 1;
}
.v-leave-to{
opacity:0;
}
.v-leave-active{
transition: 0.5s;
}
OKだ!
動的設定name
もう1つx軸を左と右にスライドして消失効果に入ります.
.left-enter{
transform:translateX(100%);
}
.left-enter-to{
transform:translateX(0);
}
.left-enter-active{
transition: 1s;
}
.left-leave{
transform:translateX(0);
}
.left-leave-to{
transform:translateX(-100%);
}
.left-leave-active{
transition: 1s;
}
transitionラベルでnameで効果を動的に設定します.このときmode=「out-in」を削除して自然につなげます.
右に切り替え:
.right-enter{
transform:translateX(-100%);
}
.right-enter-active{
transition: 1s;
}
.right-leave-to{
transform:translateX(100%);
}
.right-leave-active{
transition: 1s;
}
左の左、右の右切り替えを実現するには
ルートメタ情報
ルーティング構成ではmetaは、ルーティングオブジェクトで使用するいくつかのデータを構成できます.
metaのデータにアクセス:$route.meta
すなわち,提供されるルーティング構成情報に加えてmetaにより所望のデータをカスタマイズすることもできる.
左の左、右の右を切り替えます.
Step 1:各コンポーネントにindexを追加し、ターゲットルーティングのindexが大きい場合は右にスライドし、そうでない場合は左にスライドします.
meta:{
index:0
}
0,1,2,3そうです.
Step 2:ルーティング情報オブジェクト(前の記事で説明した理由)を監視し、離れたターゲットのindexを手に入れることができます.
watch:{
$route(to,from){
console.log(to.meta.index);//
console.log(from.meta.index);//
}
}
Step 3:マークを外し、class名を比較設定
watch:{
$route(to,from){
if(to.meta.index
転載先:https://www.cnblogs.com/PeriHe/p/8000561.html