项目需求:有时候挽留的ui是全屏的,用page-container也可以。后来产品提了个问题,手机侧滑的时候没那么顺畅(就是一用侧滑,就显示出来,产品要的方案是如下图,emmm大概是这个意思)
后面想了个方案,把挽留的内容做成一个页面,先跳转到挽留页面,在从挽留页面跳转到内容页,这样内容页面后退就是挽留页面了,当然这边还要page-container的配合。
a页面
uni.navigateTo({url:'/pages/b'
})
b页面
<template><view v-if="isShow">挽留内容。。。</view>
</template><script>export default{data(){return{isShow:false}},onLoad(option) {setTimeout(()=>{this.isShow = true},1000)uni.navigateTo({url:`/pages/c`})},methods:{//继续填写即在次回到c页面backStop(){uni.navigateTo({url:'/pages/c'})},}}
</script><style>
</style>
c页面(参考page-container)
在函数beforeleave里要进行判断,要返回到a页面的话,就要用uni.navigateBack({delta:2})
beforeleave(){if(this.isOrder){//正常情况,返回a页面,例如已经下单完毕uni.navigateBack({delta:2})}else{//到挽留页uni.navigateBack()}
}