日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

vue監(jiān)聽路由變化時(shí)watch方法會(huì)執(zhí)行多次的原因及解決

瀏覽:19日期:2022-09-30 17:52:19

本人前端菜鳥一名,一直致力于不間斷的生產(chǎn)管理后臺(tái)的bug,并以此自勉自勵(lì)。近幾天接到一個(gè)需求,網(wǎng)上也搜了很多例子,但是沒有從根本上解決。在這里記錄一下我自己的解決的過程,這也是第一次在掘金發(fā)言,求輕虐。

需求描述:

有A、B兩個(gè)頁面,需要將A頁面的orderId用路由傳參的方式傳入到B頁面執(zhí)行數(shù)據(jù)關(guān)聯(lián)查詢,然后顯示在B頁面

需求解析:

如果是你,你拿到這個(gè)需求,應(yīng)該很容易想到在B頁面對(duì)路由變化做watch,然后獲取參數(shù)執(zhí)行查詢數(shù)據(jù)的方法完事。

解決需求

A頁面中:

const route = {name: ’BpageName’,params: { orderId: this.tableData[index].id },meta: { title: ’B頁面’} }this.$router.push(route)

push一個(gè)路由重新打開B頁面

然后B頁面中接受路由傳參:

@Watch(’$route.params.packageId’)routeParamsChanged(newParams: any, oldParams: any) :void { // 通過監(jiān)聽傳參的變化來重新復(fù)制參數(shù) if (newParams) { this.getList(newParams) }}

看起來是不是很簡(jiǎn)單?

但是問題來了,因?yàn)锽頁面做了keep-alive頁面緩存,第一次路由切換的時(shí)候routeParamsChanged方法只執(zhí)行一次,達(dá)到了預(yù)期效果。但是,如果關(guān)閉B頁面或者不關(guān)閉B頁面的情況下再從A頁面跳轉(zhuǎn)到B頁面的情況下就會(huì)觸發(fā)兩次或多次routeParamsChanged方法。查了很多資料,vue項(xiàng)目watch內(nèi)的函數(shù)重復(fù)觸發(fā)問題 這里有解釋造成這種情況的原因。

解決方法1: 判斷fullPath是不是A頁面

if (this.$route.fullPath === ’A頁面路由路徑’) { // do something}

懷著激動(dòng)的心情去試了試

@Watch(’$route’)routeParamsChanged(newParams: any, oldParams: any) :void { // 通過監(jiān)聽傳參的變化來重新復(fù)制參數(shù) if (newParams === ’/Apage’) { this.getList(newParams) }}

結(jié)果還是不行,routeParamsChanged方法還是會(huì)執(zhí)行兩次或多次。 解決方法2 添加一個(gè)flag參數(shù)來判斷頁面是否是active狀態(tài),使用keep-alive緩存的組件只會(huì)觸發(fā)activated和deactivated事件,所以就在這兩個(gè)事件觸發(fā)時(shí)把flag置為true和false,只有在flag為true的時(shí)候才執(zhí)行g(shù)etList()。

private activatedFlag: boolean = falseactivated () { this.activatedFlag = true;}deactivated () { this.activatedFlag = false;}@Watch(’$route’)routeParamsChanged(newParams: any, oldParams: any) :void { // 通過監(jiān)聽傳參的變化來重新復(fù)制參數(shù) if (newParams && this.activatedFlag) { this.getList(newParams) }}

這回改解決了吧?結(jié)果還是不行,routeParamsChanged方法還是會(huì)執(zhí)行兩次或多次。 崩潰ing.........

問題解決

借鑒了上面的解決方法2,最終在activated ()生命周期鉤子函數(shù)中取實(shí)現(xiàn)獲取參數(shù)且調(diào)用獲取數(shù)據(jù)的方法即可,都不用去監(jiān)聽路由的變化,只要獲取了this.$route.params.orderId就去獲取數(shù)據(jù)。

private activatedFlag: boolean = falseactivated () { this.activatedFlag = true if (this.$route.params.orderId && this.activatedFlag) { this.getList(this.$route.params.orderId) }}deactivated () { this.activatedFlag = false;}

大功告成,終于解決了。大佬們求輕吐槽代碼,有更好的意見或建議,歡迎評(píng)論留言指導(dǎo)。

以上就是vue監(jiān)聽路由變化時(shí)watch方法會(huì)執(zhí)行多次的原因及解決的詳細(xì)內(nèi)容,更多關(guān)于vue watch方法會(huì)執(zhí)行多次的原因及解決的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Vue
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲资源网站| 欧美色图一区| 91精品观看| 欧美在线资源| 日韩中文字幕不卡| 日韩激情网站| 88久久精品| 国产一区日韩| 999视频精品| 亚洲欧美网站| 国产探花一区在线观看| 国产一区二区三区精品在线观看 | 亚洲二区视频| 爽好久久久欧美精品| 国产调教精品| 91日韩免费| 国产精品av久久久久久麻豆网| 午夜在线一区| 免费一级欧美片在线观看网站 | 亚洲激情五月| 日韩av不卡一区二区| 高清一区二区三区av| 欧美日韩一二| 88久久精品| 欧美日韩中文字幕一区二区三区| 亚洲视频电影在线| 国产精品成人国产| 亚洲婷婷免费| 欧美天堂一区| 欧美日一区二区| 日本强好片久久久久久aaa| 国产传媒av在线| 亚洲狼人精品一区二区三区| 国产aⅴ精品一区二区三区久久| 自拍日韩欧美| 精品视频一区二区三区在线观看 | 午夜精品亚洲| 国产精品mm| 好吊日精品视频| 国产精品对白久久久久粗| 国产综合精品一区| 日本三级亚洲精品| 日韩另类视频| 久久国产三级| 亚洲专区欧美专区| 精品精品99| 五月激激激综合网色播| 视频小说一区二区| 麻豆精品新av中文字幕| 久久国产99| av高清一区| 国产日本久久| 久久国产高清| 久久久久久久久99精品大| 国产免费av国片精品草莓男男| 国产一区日韩一区| 国产成人久久精品麻豆二区 | 日韩国产一区二| 激情综合自拍| 老牛影视精品| 久久精品99国产精品日本| 性欧美69xoxoxoxo| 精品国产乱码久久久久久1区2匹| 在线精品福利| 欧美精品一区二区久久| 国产精品sss在线观看av| 亚洲精品美女91| 国模 一区 二区 三区| 97精品国产福利一区二区三区| 日韩高清不卡一区二区| 中文精品视频| 国产91久久精品一区二区| 精品久久在线| 国产伦精品一区二区三区在线播放 | 五月天激情综合网| 亚洲1234区| 日韩伦理福利| 美女av在线免费看| 欧美国产极品| 欧美日韩一区二区三区四区在线观看 | 日韩一区自拍| 国产欧洲在线| 精品国产免费人成网站| 精品国产99| 国产一区二区三区日韩精品 | 久久精品999| 国产亚洲电影| 国产亚洲一区二区三区啪| 亚洲毛片在线| 日本亚洲不卡| 日本少妇精品亚洲第一区| 天海翼精品一区二区三区| 亚洲欧美久久精品| 日韩精品一区二区三区中文字幕| 蜜臀精品一区二区三区在线观看 | 99在线观看免费视频精品观看| 亚洲一级高清| 91久久国产| 中文一区二区| 亚洲色图国产| 欧美一级二区| 日本不卡视频在线| 欧美一区久久| 精品资源在线| 日本蜜桃在线观看视频| 99久久久久国产精品| 在线亚洲一区| 日韩在线观看中文字幕| 久久精品99国产精品| 久久99久久人婷婷精品综合| 六月丁香综合在线视频| 日韩一区三区| 在线亚洲观看| 日本va欧美va欧美va精品| 国产精品久一| 亚洲伊人av| 欧美一区二区三区高清视频 | 久久久久91| 久久夜色精品| 国产精品视频3p| av资源亚洲| 视频一区二区三区入口| 国产亚洲精品美女久久 | 91亚洲一区| 亚洲激情欧美| 久久精品 人人爱| 欧美天堂视频| 国产精品日本| 国产乱子精品一区二区在线观看 | 国产精东传媒成人av电影| 国产美女高潮在线| 国产精品三上| 国产精品tv| 欧美91精品| 日韩高清一级| 国产一二在线播放| 日韩专区一卡二卡| 精品午夜视频| 噜噜噜躁狠狠躁狠狠精品视频| 国产精品一区二区精品视频观看 | 国产探花一区| 激情综合自拍| 国产精品s色| 免费久久99精品国产自在现线| 国产伦精品一区二区三区千人斩 | 国产在线|日韩| 午夜亚洲福利| av资源亚洲| 日韩av中文字幕一区二区三区| 欧美天堂视频| 久久精品99国产国产精| 91精品成人| 国产成人久久精品一区二区三区| 亚洲制服少妇| 欧美aa一级| 国产日韩在线观看视频| 午夜av一区| 正在播放日韩精品| 日本不卡视频在线观看| 不卡中文一二三区| 韩日一区二区| 欧美片网站免费| 视频在线观看国产精品| 私拍精品福利视频在线一区| 蜜桃久久久久| 香蕉久久一区| 久久国产精品毛片| 91精品一区二区三区综合| 欧美精品1区| 天堂va欧美ⅴa亚洲va一国产| 日韩中文影院| 鲁大师精品99久久久| 亚洲91在线| 制服诱惑一区二区| 在线日韩欧美| 日韩一区电影| 国内精品亚洲| 国产日韩一区二区三免费高清| 免费在线观看日韩欧美| 激情综合在线| 999精品在线| 播放一区二区| 亚洲va中文在线播放免费| 精品一区二区男人吃奶| 国产精品亚洲综合色区韩国| 免费在线看一区| 香蕉久久夜色精品国产| 欧美日韩国产一区精品一区| 97se综合| 蜜桃av在线播放| 在线亚洲人成| 亚洲成人不卡| 久久精品青草| 国产主播一区| 欧美成人国产| 欧美粗暴jizz性欧美20| 久久精品国产www456c0m| 精品成人免费一区二区在线播放| 成人片免费看| 久久久9色精品国产一区二区三区|