爲 webApp 提供轉場特效的開源 Vue 插件

VUEG

爲vue-router添加轉場效果,只需要Vue.use(vueg),即可獲得轉場效果,並能夠根據url深度(/)和歷史記錄判斷是前進和後退。

效果圖

live demo | GitHub

項目實戰效果:

使用方法

0、安裝

npm i vueg -G

1、引入插件

import Vue from 'vue'
import App from './App'
import router from './router'
 
//  ↓↓↓↓↓↓↓↓↓↓↓↓
import vueg from 'vueg'   
import 'vueg/css/transition-min.css'
Vue.use(vueg, router)     //←注意這一句應該在router實例化(router = new VueRouter()之後 

現在,app已經具備默認的轉場特效能力了。

2、上添加v-transition=”false”,可以禁用動畫,如:

配置項 Config

const options={ 
      duration: '0.3',              //轉場動畫時長,默認爲0.3,單位秒  
      firstEntryDisable: false,     //值爲true時禁用首次進入應用時的漸現動畫,默認爲false 
      firstEntryDuration: '.6',     //首次進入應用時的漸現動畫時長,默認爲.6 
      forwardAnim: 'fadeInRight',   //前進動畫,默認爲fadeInRight 
      backAnim: 'fadeInLeft',       //後退動畫,默認爲fedeInLeft  
      sameDepthDisable: false,      //url深度相同時禁用動畫,默認爲false  
      tabs: [{
              name:'home'
          },{
              name:'my'
          }],                       //默認爲[],'name'對應路由的name,以實現類似app中點擊tab頁面水平轉場效果,如tabs[1]到tabs[0],會使用backAnim動畫,tabs[1]到tabs[2],會使用forwardAnim動畫 
      tabsDisable: false,           //值爲true時,tabs間的轉場沒有動畫,默認爲false 
      disable: false,               //禁用轉場動畫,默認爲false,嵌套路由默認爲true 
  
  Vue.use(vueg, router,options)

forwardAnim 、 backAnim 提供以下值:

`touchPoint` //頁面從觸摸點放大載入的轉場效果  
     
以及animate.css中的值 
`bounce` 
`flash` 
`pulse` 
`rubberBand` 
`shake` 
`headShake` 
`swing` 
...略略略... 
`slideInDown` 
`slideInLeft` 
`slideOutDown` 
`slideOutLeft` 
`slideOutRight` 
`slideOutUp` 

預覽效果,以及查看全部可用值,請訪問:https://daneden.github.io/animate.css

options還可以在每個組件的data中配置,舉例:

data(){
        return {
            http://www.jqhtml.com/wp-content/uploads/2017/07/vuegConfig:{ 
                forwardAnim:'bounceInUp'//options所有配置可以寫在這個對象裏,會覆蓋全局的配置
                disable:false              //對於嵌套路由,默認爲關閉動畫,需要在組件的data.http://www.jqhtml.com/wp-content/uploads/2017/07/vuegConfig中配置disable爲false啓用
            }
    }
}

其他:
1、基於vue v2.3.4版本和webkit內核瀏覽器開發、調試;
2、非新項目使用這個插件後,因爲css問題,可能造成原本元素在轉場動畫時有些地方排版錯亂,那就需要調整css;
3、每個路由匹配的組件模板高度最好大於等於屏幕高度,否則轉場不好看,可以爲 添加class,設置min-height:100%;
4、插件20Kb左右大小,其中css 17Kb,如果想減小,可以編輯http://www.jqhtml.com/wp-content/uploads/2017/07/vueg/css/animate.css ,將不需要的動畫樣式刪除,然後在vueg/下運行npm install-gulp css,即可;
5、配置項中forwardAnim 、 backAnim 的值本質上是css類名,所以你也可以自己寫css動畫,然後給定你自定義的類名作爲值;

原文地址:https://github.com/jaweii/http://www.jqhtml.com/wp-content/uploads/2017/07/vueg#http://www.jqhtml.com/wp-content/uploads/2017/07/vueg

發佈了14 篇原創文章 · 獲贊 21 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章