vue項(xiàng)目使用$router.go(-1)返回時(shí)刷新原來(lái)的界面操作
在項(xiàng)目需求中,我們常常需要使用$router.go(-1)返回之前的頁(yè)面,但是卻發(fā)現(xiàn),之前的界面,保持著上次跳轉(zhuǎn)的狀態(tài),比如說(shuō):彈框未關(guān)閉之類(lèi)的等等,。。。。。
問(wèn)題如下:
界面1 :
界面2使用$router.go(-1)返回上一次的界面
由于使用$router.go(-1)返回,導(dǎo)致之前的數(shù)據(jù)都保留,并未刷新原來(lái)的界面,如下:還是顯示跳轉(zhuǎn)前的彈框
解決方法1:
不要使用$router.go(-1),而是使用$router.push(’某某某’),但是其實(shí)這種方法是不合理的,因?yàn)槟憧赡芴D(zhuǎn)的頁(yè)面是很多頁(yè)面都可能跳轉(zhuǎn)的,所以如果直接使用$router.push(’某某某’),雖然可以解決當(dāng)前跳轉(zhuǎn)不刷新的問(wèn)題,但是會(huì)導(dǎo)致點(diǎn)擊其他頁(yè)面跳轉(zhuǎn)到頁(yè)面2,點(diǎn)擊使用$router.push(’某某某’),所謂的返回按鈕,是永遠(yuǎn)跳轉(zhuǎn)到界面1,不符合現(xiàn)實(shí)需求,所以,不推薦使用該方法
解決方法2:
在界面1的watch中,對(duì)router進(jìn)行監(jiān)控,當(dāng)router發(fā)生變化時(shí),初始化界面;
根據(jù)本項(xiàng)目進(jìn)行案例演示:
代碼如下:
界面一彈出框,使用的是使用pop來(lái)控制,顯示的時(shí)候是pop = true,不顯示的是pop = false
之所以使用$router.go(-1)時(shí)彈框未關(guān)閉是因?yàn)閜op還是true,所以使用如下方法解決,當(dāng)router變化的時(shí)候初始化數(shù)據(jù)pop
綜上所述:
解決方法:
watch: { ’$route’ () { // 此處寫(xiě)router變化時(shí),想要初始化或者是執(zhí)行的方法...... } },
以上這篇vue項(xiàng)目使用$router.go(-1)返回時(shí)刷新原來(lái)的界面操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP中if語(yǔ)句、select 、while循環(huán)的使用方法2. html小技巧之td,div標(biāo)簽里內(nèi)容不換行3. xml中的空格之完全解說(shuō)4. ASP中解決“對(duì)象關(guān)閉時(shí),不允許操作。”的詭異問(wèn)題……5. XML入門(mén)的常見(jiàn)問(wèn)題(四)6. php bugs代碼審計(jì)基礎(chǔ)詳解7. ASP使用MySQL數(shù)據(jù)庫(kù)的方法8. ASP動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)經(jīng)驗(yàn)分享9. WMLScript的語(yǔ)法基礎(chǔ)10. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法
