<template>
  <div id="app">
    <transition :name="animateName">
      <keep-alive>
        <router-view class="router-container" v-if="$route.meta.keepAlive"> </router-view>
      </keep-alive>
    </transition>
<!--    <transition :name="animateName">-->
      <router-view class="router-container" v-if="!$route.meta.keepAlive"> </router-view>
<!--    </transition>-->
  </div>
</template>

<script lang="ts">
import { Component, Watch, Vue } from "vue-property-decorator";
import routerService from "@/services/router.service";
import { Dialog } from "vant";
Vue.use(Dialog);
@Component({
  name: "App",
})
export default class App extends Vue {
  animateName = ""; // 路由动画名称
  pathMap: any = {}; // 存储路由对象

  @Watch("$route")
  onRouterChanged(to: any, from: any) {
    if (from.path === "/") {
      return;
    }
    const anim = routerService.animateName(to, from, this);
    // this.animateName = `slide-${anim}`;
  }
}
</script>

<style lang="scss" scoped>
#app {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  .main-view {
    width: 100%;
    height: 100%;
  }
}
</style>