实现vue进入返回实现页面的左右滑动效果
在项目开发中,感觉页面的切换很是生硬,仿照原生APP实现进出页面左右滑动的效果
首先要知道当前操作是进入页面还是返回
在 router 里加一项, 类似这样,添加一个meta,用里面的index来判断页面层级
routes: [
{
// 默认的首页
path: '/',
name: 'Home',
component: Home,
meta: {index: 0}
},
{
// 选择城市
path: '/city',
name: 'City',
component: City,
meta: {index: 1}
}
]
在app.vue里面进行判断, index值越小代表层级越大, index小则是返回,index大则是进入
export default {
name: 'App',
data () {
return {
transitionName: ''
}
},
watch: {
$route (to, from) {
console.log(to.meta.index, from.meta.index)
if (to.meta.index > from.meta.index) {
this.transitionName = 'slide-left&