<address id="ttjl9"></address>

      <noframes id="ttjl9"><address id="ttjl9"><nobr id="ttjl9"></nobr></address>
      <form id="ttjl9"></form>
        <em id="ttjl9"><span id="ttjl9"></span></em>
        <address id="ttjl9"></address>

          <noframes id="ttjl9"><form id="ttjl9"></form>

          vue移動端 實現手機左右滑動入場動畫

          2019-8-16    seo達人

          app.vue



          <template>

            <div id="app">

              <transition :name="transitionName">

                <keep-alive >

                  <router-view v-if="$route.meta.keepAlive" class="Router"></router-view>

                </keep-alive>

              </transition >

              <transition :name="transitionName">

                <router-view v-if="!$route.meta.keepAlive"  class="Router"></router-view>

              </transition >

              <Play></Play>

            </div>

          </template>

          <script>import Play from './components/play'

          export default {

            name: 'App',

            data () {

              return {

                transitionName: 'slide-left'

              }

            },

            watch: {

              '$route' (to, from) {

                // 切換動畫

                let isBack = this.$router.isBack // 監聽路由變化時的狀態為前進還是后退

                if (isBack === true) {

                  this.transitionName = 'slide-right'

                  // from.meta.keepAlive = false

                  // to.meta.keepAlive = true

                } else {

                  // from.meta.keepAlive = true

                  // to.meta.keepAlive = false

                  // this.transitionName = 'slide-left'

                  if (this.$route.path.split('/').length < 3) {

                    this.transitionName = 'slide-fade'

                  } else {

                    this.transitionName = 'slide-left'

                  }

                }

                this.$router.isBack = false

              }

            },

            components: {

              Play

            }

          }

          </script>



          <style>

          .Router {

            font-family: Roboto, Lato, sans-serif;

            position: absolute;

            width: 100%;

            height: 100%;

            padding-bottom: 60px;

            transition: all .377s ease;

            box-sizing: border-box;

            overflow: auto;

          }

          .slide-left-enter,

          .slide-right-leave-active {

            opacity: 0;

            -webkit-transform: translate(100%, 0);

            transform: translate(100%, 0);

          }



          .slide-left-leave-active,

          .slide-right-enter {

            opacity: 0;

            -webkit-transform: translate(-100%, 0);

            transform: translate(-100% 0);

          }

          .ovf {

            overflow: hidden;

          }

          .center {

            width: 95%;

            margin: 0 auto;

            overflow-y: hidden;

          }

          li {

            list-style: none;

          }

          </style>



          路由配置



              {

                path: '/playListDetail/:id',

                name: 'playListDetail',

                component: pather => require(['../components/playListDetail.vue'], pather),

                meta: {

                  title: '歌單詳情',

                  keepAlive: true,

                  isBack: false

                }

              },



          返回事件



           back () {

                this.$router.go(-1)

                this.$router.isBack = true

              }

          藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務。

          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.syprn.cn

          存檔

          亚洲va欧美va天堂v国产综合