适用范围: vue、 v-if, v-show控制的模块切换
效果:

<template><div class="box"><div id="translate-demo" class="demo"><div class="translate-demo-wrapper"><transition :name="`${on}-translate-fade`"><div class="red" v-if="on === 'go'" key="on" v-swiperight="go" v-swipeleft="back">on</div><div class="yellow" v-else key="off" v-swiperight="go" v-swipeleft="back">off</div></transition></div></div></div></template><script>export default {data() {return {on: "go"};},methods: {go() {this.on = "go";},back() {this.on = "back";console.log("后退");}},computed: {},components: {}};</script><style lang='less' scoped>.translate-demo-wrapper {position: relative;height: 18px;}.translate-demo-wrapper div {position: absolute;width: 100vw;height: 100vh;}.red {background: red;}.yellow {background: yellow;}.btn {width: 50%;height: 100px;border: 1px solid red;font-size: 25px;margin: 0 auto;}.box {text-align: center;background: #e3e3e3;}// vue渐变前进.go-translate-fade-enter-active,.go-translate-fade-leave-active {transition: all 1s;}.go-translate-fade-enter-active {opacity: 1;transform: translateX(0);}.go-translate-fade-enter,.go-translate-fade-leave-active {opacity: 0.2;}.go-translate-fade-enter {transform: translateX(100vw);}.go-translate-fade-leave-active {transform: translateX(-100vw);}// 渐变后退.back-translate-fade-enter-active,.back-translate-fade-leave-active {transition: all 1s;}.back-translate-fade-enter-active {opacity: 1;transform: translateX(0);}.back-translate-fade-enter,.back-translate-fade-leave-active {opacity: 0.2;}.back-translate-fade-enter {transform: translateX(-100vw);}.back-translate-fade-leave-active {transform: translateX(100vw);}</style>
vue官网源链接,代码需要去控制台看源码才能找到:
