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

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

解決vue中的無(wú)限循環(huán)問(wèn)題

瀏覽:89日期:2022-12-27 09:51:08

項(xiàng)目中遇到了這樣一個(gè)問(wèn)題:每一種產(chǎn)品有對(duì)應(yīng)的服務(wù)費(fèi),每一個(gè)商家有多種商品要單獨(dú)計(jì)算每一家的服務(wù)費(fèi),最后匯總總的服務(wù)費(fèi)用。我直接寫(xiě)了一個(gè)方法來(lái)計(jì)算出每個(gè)商家和總的服務(wù)費(fèi)用并return出來(lái)。如果不看控制臺(tái)的話運(yùn)行是沒(méi)問(wèn)題的。但是控制臺(tái)報(bào)了無(wú)限循環(huán)的錯(cuò)誤。

解決vue中的無(wú)限循環(huán)問(wèn)題

下面是錯(cuò)誤代碼

html:

解決vue中的無(wú)限循環(huán)問(wèn)題

js:

解決vue中的無(wú)限循環(huán)問(wèn)題

這里會(huì)出現(xiàn)無(wú)限循環(huán)的原因是數(shù)據(jù)更新觸發(fā)計(jì)算方法來(lái)更新視圖,視圖更新又反過(guò)來(lái)觸發(fā)這個(gè)方法更新數(shù)據(jù)。所以盡量不要直接在綁定的數(shù)據(jù)上使用方法來(lái)綁定。找到問(wèn)題后下面就是解決辦法。

因?yàn)檫x中商品后就要重新計(jì)算價(jià)格。所以我將選中的商品添加到data里面

解決vue中的無(wú)限循環(huán)問(wèn)題

然后通過(guò)偵聽(tīng)器監(jiān)聽(tīng)totalBox的變化

解決vue中的無(wú)限循環(huán)問(wèn)題

當(dāng)totalBox變化后在執(zhí)行計(jì)算方法。這樣就避免一直來(lái)回計(jì)算的問(wèn)題

解決vue中的無(wú)限循環(huán)問(wèn)題

補(bǔ)充知識(shí):vue 排序無(wú)限循環(huán)問(wèn)題解決

在vue里對(duì)每個(gè)數(shù)組排序,會(huì)出現(xiàn)無(wú)限循環(huán)的問(wèn)題,我認(rèn)為的原因是:

vue動(dòng)態(tài)監(jiān)聽(tīng)data里數(shù)組的變化,數(shù)組剛一排序發(fā)生變化,vue立馬重新執(zhí)行排序?qū)е聼o(wú)限循環(huán)。

解決問(wèn)題:

1、將要排序的數(shù)組命名為全局變量,這樣不受vue的監(jiān)聽(tīng)

2、全局?jǐn)?shù)組賦值vue里的數(shù)組時(shí),不要使用=號(hào),這樣只是把全局?jǐn)?shù)組的地址指向vue數(shù)組地址(用遍歷vue數(shù)組,push進(jìn)全局?jǐn)?shù)組里)

代碼片段 對(duì)數(shù)組對(duì)象屬性進(jìn)行排序(**************************為解決思路):

var sloveSortList = []; //解決vue中數(shù)組排序無(wú)限循環(huán)的問(wèn)題 **************************export default {data() {return { showSectionList: [], //界面需要顯示的斷面,還沒(méi)有進(jìn)行排序watch:{ //列表發(fā)生變化showSectionList: function(){//傳遞點(diǎn)位列表數(shù)據(jù),給父級(jí)reallndex.vue頁(yè)面this.leftshowSection(this.showSectionList);//把showSectionList數(shù)組賦值給sloveSortList,如果直接=,相當(dāng)于引用地址,排序的時(shí)候vue監(jiān)聽(tīng)showSectionList會(huì)出現(xiàn)無(wú)限循環(huán)。sloveSortList = [];for(var i=0; i < this.showSectionList.length; i++ ){sloveSortList.push(this.showSectionList[i]); **************************}//把變化了的列表賦值到準(zhǔn)備要排序的sortShowSectionData上this.sortShowSectionList = this.sortShowSectionData() **************************//賦值排好序的數(shù)組,為了搜索使用this.beforeSearchList = this.sortShowSectionList;//默認(rèn)選中第一個(gè)斷面?zhèn)鬟f給父組件this.showSectionClick(0);}methods: {//列表排序方法sortShowSectionData:function(){var factorNumber = this.nowFactor.factor_code+ ’Level’;if(this.nowFactor.factor_code == undefined || this.nowFactor.factor_code == ’NaN’ || this.nowFactor.factor_code == null){return}//對(duì)列表進(jìn)行了排序var searchList = sloveSortList.sort((a,b)=>{ **************************var factorNumber = this.nowFactor.factor_code;if(parseFloat(a[factorNumber]) > parseFloat(b[factorNumber])){return -1;} else if(parseFloat(a[factorNumber]) == parseFloat(b[factorNumber])){return 0;}else{return 1;}});return searchList;},

以上這篇解決vue中的無(wú)限循環(huán)問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 一级真人毛片 | 自拍视频一区 | 一区二区精品在线 | av不卡在线观看 | 成年视频在线观看 | 96在线视频| 日韩视频免费看 | 一本伊人| 国产理论在线观看 | 亚洲欧美日韩色图 | 在线一区 | 天天精品视频 | 国产成人久久 | 日韩欧美二区 | 91蜜桃视频 | 激情久久久 | 国产午夜三级一区二区三 | 国产欧美日韩一区二区三区 | 一区在线观看 | 女人久久久 | 国产视频一区二区在线观看 | 精品成人在线 | 性生活视频网站 | 欧美精品福利 | 欧美女同视频 | 在线播放国产精品 | 亚洲免费观看 | 国产精品免费av | 亚洲 欧美 另类 综合 偷拍 | 国产伦精品一区二区三区在线 | 国产成人免费 | 黄色片aaa | 成人在线精品 | 福利片在线| 成人在线a | 国产成人在线免费视频 | 国内精品国产成人国产三级 | 青青青草视频 | 国产成人在线视频 | 久久免费看片 | 精品一二三区 |