遇到的問題:
業務流程:在商品詳情頁面,點擊【立即購買】按鈕,跳轉到【提交訂單】頁面。在【提交訂單】頁面返回到商品詳情頁時,
只能使用 this.$router.push方法返回到商品詳情頁。因為商品詳情頁需要商品ID。用這種方式返回到商品詳情頁時,再從商品
詳情頁點擊返回按鈕,還是會回到提交訂單頁面。這樣就形成一種死循環。應該返回到上上級頁面。
解決方式
商品詳情頁JS
export default {
props: {
seriesId: String
},
data() {
return {
pagetype:1//表示其他頁面
}
},
components: {},
beforeRouteEnter(to, from, next) {
console.log("****************Test1****Enter**************");
console.log('to', to);
console.log('from', from);
console.log('next', next);
next(vm => {
//因為當鈎子執行前,組件實例還沒被創建
// vm 就是當前組件的實例相當於上面的 this,所以在 next 方法里你就可以把 vm 當 this 來用了。
console.log(vm);//當前組件的實例
if(from.name=="order")//如果頁面從提交訂單返回來
{
vm.pagetype=3;//表示提交訂單頁面
}
});
},
methods: {
onClickLeft() {
//alert(this.pagetype);
if(this.pagetype ==3)
{
//alert("來自提交訂單頁面");
this.$router.go(-3);
}
else
{
//alert("來自其他頁面");
this.$router.go(-1);
}
},
}