亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Vue路由切換時的左滑和右滑效果示例

 更新時間:2018年05月29日 08:27:48   作者:張成  
這篇文章主要介紹了Vue路由切換時的左滑和右滑效果,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

如何實現(xiàn)Vue路由切換時的左滑和右滑效果,因為原作者ustbhuangyi老師的兩個慕課項目中都沒有這樣的效果,于是突發(fā)奇想要做這個功能,看了看QQ、微信都沒這樣的效果,最后發(fā)現(xiàn)SegmentFault(思否) 和掘金兩個app都有這樣的效果,就以此為參考開始做了。

transition

首先看看官網(wǎng) 淡入淡出動畫的例子:

<div id="demo">
 <button v-on:click="show = !show">
  Toggle
 </button>
 <transition name="fade">
  <p v-if="show">hello</p>
 </transition>
</div>
new Vue({
 el: '#demo',
 data: {
  show: true
 }
})
.fade-enter-active, .fade-leave-active {
 transition: opacity .5s;
}
.fade-enter, .fade-leave-to {
 opacity: 0;
}

左右切換效果

CSS部分

我們要實現(xiàn)的是左右切換的效果,所以要定義兩種動畫(左滑和右滑)

.transitionBody{
 transition: all 0.15s ease; /*定義動畫的時間和過渡效果*/
}

.transitionLeft-enter,
.transitionRight-leave-active {
  -webkit-transform: translate(100%, 0);
  transform: translate(100%, 0); 
   /*當(dāng)左滑進(jìn)入右滑進(jìn)入過渡動畫*/
}

.transitionLeft-leave-active,
.transitionRight-enter {
  -webkit-transform: translate(-100%, 0); 
  transform: translate(-100%, 0); 
}

HTML部分

這里的 keep-alive 是Vue的內(nèi)置組件,能在組件切換過程中將狀態(tài)保留在內(nèi)存中,防止重復(fù)渲染DOM,我們要把它也包裹在transition標(biāo)簽內(nèi),否則頁面將重新渲染,切換的動畫也會卡頓

<transition :name="transitionName">
  <keep-alive>
      <router-view class="transitionBody"></router-view>
  </keep-alive>
</transition>

JS部分

在Vue組件中,data必須是一個函數(shù),將對象 {transitionName: ‘transitionLeft'} 掛載到Vue實例中,然后我們可以監(jiān)聽路由的 to 和 from 來判斷此時應(yīng)該左滑還是右滑,來動態(tài)切換transition的name值。

export default {
 data() {
   return {
    transitionName: 'transitionLeft'
   };
 },
 watch: { 
  '$route' (to, from) { 
   const arr = ['/goods','/ratings','/seller'];
   const compare = arr.indexOf(to.path)>arr.indexOf(from.path);
   this.transitionName = compare ? 'transitionLeft' : 'transitionRight';
  } 
 }  
}

點擊鏈接體驗一下: https://zc95.github.io/demo/vue-sell

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JavaScript的MVVM庫Vue.js入門學(xué)習(xí)筆記

    JavaScript的MVVM庫Vue.js入門學(xué)習(xí)筆記

    這篇文章主要介紹了JavaScript的MVVM庫Vue.js入門學(xué)習(xí)筆記,Vue.js是一個新興的js庫,主要用于實現(xiàn)響應(yīng)的數(shù)據(jù)綁定和組合的視圖組件,需要的朋友可以參考下
    2016-05-05
  • Vue 2.0入門基礎(chǔ)知識之內(nèi)部指令詳解

    Vue 2.0入門基礎(chǔ)知識之內(nèi)部指令詳解

    這篇文章主要介紹了Vue 2.0入門基礎(chǔ)知識之內(nèi)部指令知識,非常不錯,具有參考借鑒價值 ,需要的朋友可以參考下
    2017-10-10
  • vue2+element-ui+nodejs實現(xiàn)圖片上傳和修改圖片到數(shù)據(jù)庫的方法

    vue2+element-ui+nodejs實現(xiàn)圖片上傳和修改圖片到數(shù)據(jù)庫的方法

    在Web開發(fā)中經(jīng)常需要使用圖片,有時候需要對圖片進(jìn)行上傳,這篇文章主要給大家介紹了關(guān)于vue2+element-ui+nodejs實現(xiàn)圖片上傳和修改圖片到數(shù)據(jù)庫的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04
  • vue+element?DatePicker實現(xiàn)日期選擇器封裝

    vue+element?DatePicker實現(xiàn)日期選擇器封裝

    Vue?Element?DatePicker是一款基于Vue.js的日期選擇控件,它提供了豐富的日期選擇功能,支持日期范圍選擇、日期格式化、自定義日期格式、快捷選擇等功能,極大地提高了用戶的體驗,是開發(fā)者必備的日期選擇控件。
    2023-02-02
  • Django Vue實現(xiàn)動態(tài)菜單和動態(tài)權(quán)限

    Django Vue實現(xiàn)動態(tài)菜單和動態(tài)權(quán)限

    本文主要介紹了Django Vue實現(xiàn)動態(tài)菜單和動態(tài)權(quán)限,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • vue中的style樣式如何動態(tài)綁定

    vue中的style樣式如何動態(tài)綁定

    這篇文章主要介紹了vue中的style樣式如何動態(tài)綁定,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue+tracking.js 實現(xiàn)前端人臉檢測功能

    Vue+tracking.js 實現(xiàn)前端人臉檢測功能

    這篇文章主要介紹了Vue+tracking.js 實現(xiàn)前端人臉檢測功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • vue實現(xiàn)導(dǎo)航菜單和編輯文本的示例代碼

    vue實現(xiàn)導(dǎo)航菜單和編輯文本的示例代碼

    這篇文章主要介紹了vue實現(xiàn)導(dǎo)航菜單和編輯文本功能的方法,文中示例代碼非常詳細(xì),幫助大家更好的參考和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • Vue組件之極簡的地址選擇器的實現(xiàn)

    Vue組件之極簡的地址選擇器的實現(xiàn)

    這篇文章主要介紹了Vue組件之極簡的地址選擇器的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • 詳解vue中點擊空白處隱藏div的實現(xiàn)(用指令實現(xiàn))

    詳解vue中點擊空白處隱藏div的實現(xiàn)(用指令實現(xiàn))

    本篇文章主要介紹了詳解vue中點擊空白處隱藏div的實現(xiàn)(用指令實現(xiàn)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04

最新評論