av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

vue項(xiàng)目watch內(nèi)的函數(shù)重復(fù)觸發(fā)問題的解決

瀏覽:8日期:2022-09-30 17:49:01
問題描述:

有兩個(gè)頁(yè)面A和B,每個(gè)頁(yè)面里都有一個(gè)getList()方法。這個(gè)兩個(gè)方法都需要傳一個(gè)相同的參數(shù)C,參數(shù)C的選擇過程又比較麻煩。為了避免在切換A、B兩個(gè)界面重復(fù)選擇參數(shù)C的問題,我將參數(shù)C存入vuex中,然后在兩個(gè)頁(yè)面里都使用watch監(jiān)聽參數(shù)C來執(zhí)行g(shù)etList()方法。然后發(fā)現(xiàn)一個(gè)問題,從A頁(yè)面進(jìn)入B頁(yè)面后,在B頁(yè)面重新選擇參數(shù)C,A頁(yè)面的getList()方法竟然也會(huì)被執(zhí)行,反之亦然,從B頁(yè)面到A頁(yè)面后,在A頁(yè)面改變參數(shù)C也會(huì)執(zhí)行B頁(yè)面的getList()方法。

后來發(fā)現(xiàn)是使用了因?yàn)槭褂昧薻eep-alive所致,keep-alive會(huì)將Vue實(shí)例始終保持在內(nèi)存中,因此該Vue實(shí)例始終存續(xù),相應(yīng)的watchers始終生效,查找相關(guān)資料后,發(fā)現(xiàn)許多人也遇到了這個(gè)問題,最后找到以下兩種解決方案:

解決方法1

通過router路徑來判斷是否執(zhí)行g(shù)etList()

watch: {someValue(newValue, oldValue) { if (this.$route.fullPath === ’A頁(yè)面路由路徑’) {// do something }} }解決方法2

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

{ data () { return { activatedFlag: false }; }, watch: { ’someValue’(val) { if(val && this.activatedFlag) {this.getlist(); } } }, activated () { this.activatedFlag = true; }, deactivated () { this.activatedFlag = false; }}

如果頁(yè)面比較多,而且各頁(yè)面里的函數(shù)名稱不一致的話,可以把上面代碼的watch部分去掉寫成一個(gè)mixin,在需要的頁(yè)面引入即可

import activeFlag from '@/mixin/activeFlag'; export default { mixins: [activeFlag], watch: {’someValue’(val) { if(val && this.activatedFlag) { this.getlistA(); this.getlistB(); }} }, }

以上就是vue項(xiàng)目watch內(nèi)的函數(shù)重復(fù)觸發(fā)問題的兩種解決方案的詳細(xì)內(nèi)容,更多關(guān)于vue watch函數(shù)重復(fù)觸發(fā)解決的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 欧美男男videos | 最新91在线| 久久久日韩精品一区二区三区 | 久久久久www| 国产欧美精品一区二区三区 | 狠狠狠干 | 日韩精品免费 | 亚洲免费在线播放 | 免费看91| 手机看黄av免费网址 | 午夜精品一区二区三区在线观看 | 香蕉久久网 | 成人av一区二区三区 | 久久久成人免费视频 | 亚洲视频在线观看免费 | 亚洲国产精品久久久久秋霞不卡 | 欧美一级做性受免费大片免费 | 精品视频久久久久久 | 久久久亚洲一区 | 麻豆久久久久久久久久 | 久久精品在线免费视频 | www.一区二区三区 | 久草网址 | 亚洲欧美激情四射 | 中国美女撒尿txxxxx视频 | 久久国产精品网站 | 在线观看黄视频 | 有码一区 | 国产99久久久国产精品 | 日韩 国产 在线 | 成人久久久 | h片免费在线观看 | 日本国产高清 | 伊色综合久久之综合久久 | 一区二区三区四区国产精品 | 国产精品久久777777 | 伊色综合久久之综合久久 | 中文在线a在线 | 狠狠夜夜 | 99re66在线观看精品热 | 中文字幕av高清 |