萬(wàn)網(wǎng)網(wǎng)站建設(shè)購(gòu)買過(guò)程汽車推廣軟文
再vue中,返回上一頁(yè)時(shí):如果頁(yè)面是打開的狀態(tài),頁(yè)面不會(huì)自動(dòng)刷新,會(huì)保持著上次跳轉(zhuǎn)的狀態(tài)不更新;
原因:vue-router的切換不同于傳統(tǒng)的頁(yè)面切換,而是路由之間的切換,其實(shí)就是組件之間的切換,引用相同組件的時(shí)候,會(huì)直接調(diào)用緩存而不會(huì)調(diào)用created(),mounted()函數(shù)。
解決方法
1、返回刷新頁(yè)面
在返回頁(yè)面增加如下代碼
watch:{
? ? '$route' () {
? ? ? this.getList(); //我的初始化方法
? ? }
? }
對(duì)router進(jìn)行監(jiān)控,當(dāng)router發(fā)生變化時(shí),執(zhí)行初始化界面方法。
這是我的解決方法。
2、返回上一頁(yè):如果頁(yè)面沒打開會(huì)自動(dòng)打開;如果頁(yè)面已打開,則不會(huì)刷新頁(yè)面
? ? ? ? goBack() {
? ? ? ? ? ? const obj = {
? ? ? ? ? ? ? ? path: "/product/base",
? ? ? ? ? ? ? ? query: {
???????????????????????//需要傳遞參數(shù)
? ? ? ? ? ? ? ? ? ? t: Date.now(),
? ? ? ? ? ? ? ? ? ? pageNum: this.$route.query.pageNum
? ? ? ? ? ? ? ? }
? ? ? ? ? ? };
? ? ? ? ? ? this.$tab.closeOpenPage(obj);
? ? ? ? ? ? this.reset();
? ? ? ? }