中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue router如何實現自動判斷左右翻頁轉場動畫效果

發布時間:2021-06-29 09:48:43 來源:億速云 閱讀:173 作者:小新 欄目:web開發

這篇文章將為大家詳細講解有關vue router如何實現自動判斷左右翻頁轉場動畫效果,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

一 。首先父頁面

home.vue:

<!-- keepAlList是用來動態判斷組件是否需要keep-alive,建議保存到vuex中作為全局變量,至于下方的css動畫,看官可以按照喜好自由修改-->
<transition :name="transNa">
 <keep-alive :include="keepAlList">
 <router-view class="child-view"></router-view>
 </keep-alive>
</transition>
<style scoped>
.child-view {
 position: absolute;
 width: 100%;
 height: 100%;
 transition: all .5s ease;
 -webkit-transition: all .5s ease;
 -moz-transition: all .5s ease;
}
.rightin-enter,
.leftin-leave-active {
 opacity: 0;
 transform: translate3d(50% 0, 0);
 -webkit-transform: translate3d(50%, 0, 0);
 -moz-transform: translate3d(50%, 0, 0);
}
.leftin-enter,
.rightin-leave-active {
 opacity: 0;
 transform: translate3d(-50% 0, 0);
 -webkit-transform: translate3d(-50%, 0, 0);
 -moz-transform: translate3d(-50%, 0, 0);
}
</style>

二 。其次附上我的main.js片段(用來在跳轉頁面之前動態設置轉場動畫)

  main.js:

//進入路由之前設置攔截器
let noLoginList = ["login", "register", "forget", "home", "classify", "goodsDetial"];
router.routeInfo.beforeEach((to, from, next) => {
 let user = sessionStorage.getItem('user');
 //如果要去登錄頁面
 if (noLoginList.indexOf(to.name) >= 0) {
  if (!user || user == '') {
   //未登錄的狀態通行
   next();
   return;
  } else {
   if (["login", "register", "forget"].indexOf(to.name) >= 0) {
    //已登錄的狀態去首頁
    next({
     name: 'home'
    });
    return;
   } else {
    //已登錄的狀態去首頁
    next();
    return;
   }
  }
 } else {
  //去登錄頁面以外的頁面(以下是本文關鍵代碼)
  if (user && user != '') {
   //判斷是否為需要緩存組件,如果是添加組件名到數組
   if (to.meta.keepAlive) {
    const toName = to.name;
    let keepLi = store.getters.getKeepAlList;
    keepLi.indexOf(toName) < 0 ? keepLi.push(toName) : '';
    store.commit('SET_KEEPALLIST', keepLi);
   }
   //根據路徑名深度設置轉場動畫類型
   store.commit('SET_TRANSNA', (to.path.split('/').length < from.path.split('/').length ? 'leftin' : 'rightin'));
   next();
  } else {
   let toWhere = router.nameList.indexOf(to.name) >= 0 ? to : {name: 'home'};
   next({
    name: 'login',
    params: {
     jumpTo: {
      name: toWhere.name,
      params: toWhere.params,
      query: toWhere.query,
     },
    }
   });
  }
 }
});

關于“vue router如何實現自動判斷左右翻頁轉場動畫效果”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

彭山县| 昌宁县| 莒南县| 东安县| 丁青县| 花莲县| 双柏县| 清流县| 外汇| 澄江县| 遂平县| 津南区| 罗甸县| 彭泽县| 两当县| 吉水县| 墨竹工卡县| 嘉荫县| 灵宝市| 贞丰县| 三都| 卢龙县| 萍乡市| 安义县| 滕州市| 舞阳县| 平江县| 龙州县| 县级市| 永清县| 哈密市| 龙川县| 麻栗坡县| 桂林市| 绍兴市| 隆化县| 寻甸| 厦门市| 温泉县| 老河口市| 依兰县|