<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        vue router自動判斷左右翻頁轉場動畫效果

        來源:懂視網 責編:小采 時間:2020-11-27 22:28:03
        文檔

        vue router自動判斷左右翻頁轉場動畫效果

        vue router自動判斷左右翻頁轉場動畫效果:前段時間做了一個移動端spa項目,技術基于 :vue + vue-router + vuex + mint-ui 因為使用了vue-cli腳手架的webpack模版,所有頁面都以.vue為后綴的文件作為一個組件 最近公司項目比較少終于有空來記錄一下自己對vue-router的一些小小的使用心得,
        推薦度:
        導讀vue router自動判斷左右翻頁轉場動畫效果:前段時間做了一個移動端spa項目,技術基于 :vue + vue-router + vuex + mint-ui 因為使用了vue-cli腳手架的webpack模版,所有頁面都以.vue為后綴的文件作為一個組件 最近公司項目比較少終于有空來記錄一下自己對vue-router的一些小小的使用心得,

        前段時間做了一個移動端spa項目,技術基于 :vue + vue-router + vuex + mint-ui

        因為使用了vue-cli腳手架的webpack模版,所有頁面都以.vue為后綴的文件作為一個組件

        最近公司項目比較少終于有空來記錄一下自己對vue-router的一些小小的使用心得,

          一般的移動端口單頁應用在跳轉頁面時候會有相應的轉場動畫,比如:

          1. 從當前一級頁面跳轉二級頁面需要展示的轉場動畫是一級頁面向屏幕左邊移動消失的同時,

           二級頁面從屏幕的右邊向左邊移動出現。(類似翻書翻到下一頁的效果)

          2. 從當前二級頁面跳回一級頁面需要展示的轉場動畫是二級頁面向屏幕右邊移動消失的同時,

           一級頁面從屏幕的左邊向右邊移動出現。類似(翻書翻回到上一頁的效果)

          但是出現了一個問題:如何判斷當前頁面和將要跳轉頁面之間的層級關系呢?

        我的解決辦法是:創建頁面 (組件)時,在定義頁面的router里通過設置頁面的path(訪問路徑 )屬性來區分組件之間的層級關系。

        比如一個一級頁面 (組件) ‘A' 的訪問路徑為 ‘/A' 。他的二級頁面 ‘B' 的訪問路徑為 ‘/A/B' .

          那么在跳轉頁面之前,只需要比較當前頁面和將要跳轉到的頁面的路徑深度就可以動態設置轉場動畫了。

        比如 ‘/A/B'的深度 >  ‘/A' 的深度那么 從B頁面跳轉到A頁面就應該是 效果2:(翻書翻回到上一頁的效果).

        一 。首先父頁面

        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自動判斷左右翻頁轉場動畫效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        vue router自動判斷左右翻頁轉場動畫效果

        vue router自動判斷左右翻頁轉場動畫效果:前段時間做了一個移動端spa項目,技術基于 :vue + vue-router + vuex + mint-ui 因為使用了vue-cli腳手架的webpack模版,所有頁面都以.vue為后綴的文件作為一個組件 最近公司項目比較少終于有空來記錄一下自己對vue-router的一些小小的使用心得,
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 在免费jizzjizz在线播| 免费一级全黄少妇性色生活片| 中文字幕不卡免费高清视频| 国产hs免费高清在线观看| 亚洲AV无码一区二区大桥未久| 一二三四免费观看在线视频中文版| 亚洲美女在线观看播放| 亚洲最大免费视频网| 亚洲毛片无码专区亚洲乱| 亚洲免费电影网站| 亚洲mv国产精品mv日本mv| 成年女性特黄午夜视频免费看| 国产 亚洲 中文在线 字幕| 好爽…又高潮了毛片免费看| 亚洲日韩AV一区二区三区中文| 四虎成人免费观看在线网址| 精品久久久久亚洲| 国产成人亚洲精品狼色在线| 最近2019中文免费字幕在线观看| 久久国产精品亚洲综合| 国产精品免费精品自在线观看| 久久亚洲精品视频| a级毛片视频免费观看| 亚洲va久久久噜噜噜久久| 久久aa毛片免费播放嗯啊| 亚洲精品国产成人中文| 成年女人色毛片免费看| 免费手机在线看片| 久久亚洲AV午夜福利精品一区| 亚色九九九全国免费视频| 国产成人精品亚洲一区| 亚洲无线观看国产精品| 大学生一级毛片免费看| 有色视频在线观看免费高清在线直播 | 免费国产作爱视频网站| 亚洲欧美日韩国产成人| 亚洲无线一二三四区手机| 最近免费最新高清中文字幕韩国 | 久久精品国产亚洲AV天海翼| 亚洲日韩VA无码中文字幕| 亚洲视频免费在线看|