<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關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題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關(guān)鍵字專題關(guān)鍵字專題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
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        vuerouter自動(dòng)判斷左右翻頁(yè)轉(zhuǎn)場(chǎng)動(dòng)畫效果的實(shí)現(xiàn)方法

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 20:04:49
        文檔

        vuerouter自動(dòng)判斷左右翻頁(yè)轉(zhuǎn)場(chǎng)動(dòng)畫效果的實(shí)現(xiàn)方法

        vuerouter自動(dòng)判斷左右翻頁(yè)轉(zhuǎn)場(chǎng)動(dòng)畫效果的實(shí)現(xiàn)方法:前段時(shí)間做了一個(gè)移動(dòng)端spa項(xiàng)目,技術(shù)基于 :vue + vue-router + vuex + mint-ui因?yàn)槭褂昧藇ue-cli腳手架的webpack模版,所有頁(yè)面都以.vue為后綴的文件作為一個(gè)組件,本文主要和大家分享vue router自動(dòng)判斷左右翻頁(yè)轉(zhuǎn)場(chǎng)動(dòng)畫效果,希望能幫助到大家。最近公
        推薦度:
        導(dǎo)讀vuerouter自動(dòng)判斷左右翻頁(yè)轉(zhuǎn)場(chǎng)動(dòng)畫效果的實(shí)現(xiàn)方法:前段時(shí)間做了一個(gè)移動(dòng)端spa項(xiàng)目,技術(shù)基于 :vue + vue-router + vuex + mint-ui因?yàn)槭褂昧藇ue-cli腳手架的webpack模版,所有頁(yè)面都以.vue為后綴的文件作為一個(gè)組件,本文主要和大家分享vue router自動(dòng)判斷左右翻頁(yè)轉(zhuǎn)場(chǎng)動(dòng)畫效果,希望能幫助到大家。最近公

        前段時(shí)間做了一個(gè)移動(dòng)端spa項(xiàng)目,技術(shù)基于 :vue + vue-router + vuex + mint-ui因?yàn)槭褂昧藇ue-cli腳手架的webpack模版,所有頁(yè)面都以.vue為后綴的文件作為一個(gè)組件,本文主要和大家分享vue router自動(dòng)判斷左右翻頁(yè)轉(zhuǎn)場(chǎng)動(dòng)畫效果,希望能幫助到大家。

        最近公司項(xiàng)目比較少終于有空來(lái)記錄一下自己對(duì)vue-router的一些小小的使用心得,

          一般的移動(dòng)端口單頁(yè)應(yīng)用在跳轉(zhuǎn)頁(yè)面時(shí)候會(huì)有相應(yīng)的轉(zhuǎn)場(chǎng)動(dòng)畫,比如:

          1. 從當(dāng)前一級(jí)頁(yè)面跳轉(zhuǎn)二級(jí)頁(yè)面需要展示的轉(zhuǎn)場(chǎng)動(dòng)畫是一級(jí)頁(yè)面向屏幕左邊移動(dòng)消失的同時(shí),

           二級(jí)頁(yè)面從屏幕的右邊向左邊移動(dòng)出現(xiàn)。(類似翻書翻到下一頁(yè)的效果)

          2. 從當(dāng)前二級(jí)頁(yè)面跳回一級(jí)頁(yè)面需要展示的轉(zhuǎn)場(chǎng)動(dòng)畫是二級(jí)頁(yè)面向屏幕右邊移動(dòng)消失的同時(shí),

           一級(jí)頁(yè)面從屏幕的左邊向右邊移動(dòng)出現(xiàn)。類似(翻書翻回到上一頁(yè)的效果)

          但是出現(xiàn)了一個(gè)問題:如何判斷當(dāng)前頁(yè)面和將要跳轉(zhuǎn)頁(yè)面之間的層級(jí)關(guān)系呢?

        我的解決辦法是:創(chuàng)建頁(yè)面 (組件)時(shí),在定義頁(yè)面的router里通過設(shè)置頁(yè)面的path(訪問路徑 )屬性來(lái)區(qū)分組件之間的層級(jí)關(guān)系。

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

          那么在跳轉(zhuǎn)頁(yè)面之前,只需要比較當(dāng)前頁(yè)面和將要跳轉(zhuǎn)到的頁(yè)面的路徑深度就可以動(dòng)態(tài)設(shè)置轉(zhuǎn)場(chǎng)動(dòng)畫了。

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

        一 。首先父頁(yè)面

        home.vue:

        <!-- keepAlList是用來(lái)動(dòng)態(tài)判斷組件是否需要keep-alive,建議保存到vuex中作為全局變量,至于下方的css動(dòng)畫,看官可以按照喜好自由修改-->
        <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片段(用來(lái)在跳轉(zhuǎn)頁(yè)面之前動(dòng)態(tài)設(shè)置轉(zhuǎn)場(chǎng)動(dòng)畫)

          main.js:

        //進(jìn)入路由之前設(shè)置攔截器
        let noLoginList = ["login", "register", "forget", "home", "classify", "goodsDetial"];
        router.routeInfo.beforeEach((to, from, next) => {
         let user = sessionStorage.getItem('user');
         //如果要去登錄頁(yè)面
         if (noLoginList.indexOf(to.name) >= 0) {
         if (!user || user == '') {
         //未登錄的狀態(tài)通行
         next();
         return;
         } else {
         if (["login", "register", "forget"].indexOf(to.name) >= 0) {
         //已登錄的狀態(tài)去首頁(yè)
         next({
         name: 'home'
         });
         return;
         } else {
         //已登錄的狀態(tài)去首頁(yè)
         next();
         return;
         }
         }
         } else {
         //去登錄頁(yè)面以外的頁(yè)面(以下是本文關(guān)鍵代碼)
         if (user && user != '') {
         //判斷是否為需要緩存組件,如果是添加組件名到數(shù)組
         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);
         }
         //根據(jù)路徑名深度設(shè)置轉(zhuǎn)場(chǎng)動(dòng)畫類型
         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,
         },
         }
         });
         }
         }
        });

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        vuerouter自動(dòng)判斷左右翻頁(yè)轉(zhuǎn)場(chǎng)動(dòng)畫效果的實(shí)現(xiàn)方法

        vuerouter自動(dòng)判斷左右翻頁(yè)轉(zhuǎn)場(chǎng)動(dòng)畫效果的實(shí)現(xiàn)方法:前段時(shí)間做了一個(gè)移動(dòng)端spa項(xiàng)目,技術(shù)基于 :vue + vue-router + vuex + mint-ui因?yàn)槭褂昧藇ue-cli腳手架的webpack模版,所有頁(yè)面都以.vue為后綴的文件作為一個(gè)組件,本文主要和大家分享vue router自動(dòng)判斷左右翻頁(yè)轉(zhuǎn)場(chǎng)動(dòng)畫效果,希望能幫助到大家。最近公
        推薦度:
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 最近2019中文字幕免费大全5 | 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 深夜A级毛片视频免费| 国产青草视频在线观看免费影院| 中国亚洲呦女专区| 男女交性永久免费视频播放| 亚洲国产欧美国产综合一区 | 无码 免费 国产在线观看91| 亚洲午夜无码AV毛片久久| av电影在线免费看| 亚洲精品制服丝袜四区| 久久精品中文字幕免费| 亚洲成人黄色在线观看| 免费羞羞视频网站| 尤物视频在线免费观看| 亚洲无人区一区二区三区| 欧洲人成在线免费| 亚洲国产综合在线| 国产成人精品男人免费| 国产V片在线播放免费无码| 亚洲AV永久精品爱情岛论坛| 91热久久免费精品99| 国产亚洲福利在线视频| 亚洲国产成人精品久久久国产成人一区二区三区综 | 亚洲va无码专区国产乱码| 麻豆国产精品免费视频| 亚洲国产精品无码观看久久| 久久久久一级精品亚洲国产成人综合AV区 | 亚洲一卡2卡三卡4卡有限公司| 久久免费看黄a级毛片| 亚洲AV无码专区在线观看成人| 中文字幕亚洲激情| 久久WWW免费人成一看片| 国产亚洲情侣久久精品| 亚洲AV无码久久寂寞少妇| 日本高清色本免费现在观看| 成在人线av无码免费高潮水| 久久精品国产亚洲AV忘忧草18| 一区国严二区亚洲三区| 免费无码又爽又刺激高潮视频| 亚洲AV永久无码精品一福利|