第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

vue重度使用vuex和watch的解決方法

vue重度使用vuex和watch的解決方法

肥皂起泡泡 2019-02-15 11:48:30
項(xiàng)目中重度依賴(lài)vuex和watch,組件化非常方便,但是組件之間的數(shù)據(jù)、狀態(tài)共享一直非常難處理,所以在使用了vuex后便重度依賴(lài),并且大量使用了watch,在vue官網(wǎng)中一直不推薦使用watch,而是使用computed代替,但是現(xiàn)在也找不到一個(gè)合適的方法,下面用一個(gè)例子展示。a頁(yè)面和b頁(yè)面,b頁(yè)面中有5段文字,點(diǎn)擊文字后,a頁(yè)面的數(shù)據(jù)會(huì)加上選擇的數(shù)據(jù),一直累加。類(lèi)似現(xiàn)在的解決方法是,每次點(diǎn)擊文字,通過(guò)commit修改state的變量,a頁(yè)面使用watch監(jiān)聽(tīng)state變量的變化,如果改變則添加上新的數(shù)據(jù)。代碼使用了decorator和typescript//a頁(yè)面的監(jiān)聽(tīng)@Watch("content")   ChangeContent(x: string) {    if (!x) return;    this.text += this.content;   }//b頁(yè)面發(fā)送  ChooseText(x: string) {    this.ChangeContent(x);   }//statecontent:null//mutationChangeContent(state,x){     state.content=x } 其中代碼有部分省略,但是無(wú)關(guān)緊要。其中方法還有部分邏輯沒(méi)有寫(xiě),比如2次選中相同數(shù)字,watch是不會(huì)執(zhí)行?,F(xiàn)在想知道除了使用watch能監(jiān)聽(tīng)到變化,并執(zhí)行相應(yīng)邏輯,還有沒(méi)有其他的方法。例如computed。這只是其中的一小部分,以后碰到像是這樣的問(wèn)題,代碼的設(shè)計(jì)思路是什么。謝謝。
查看完整描述

1 回答

?
千巷貓影

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊

你這種需求,state 里存的應(yīng)該是個(gè)數(shù)組,里邊是被點(diǎn)擊的元素(這里就可以直接做去重了)。

然后就不需要 watch 了,因?yàn)?nbsp;state 里就是被點(diǎn)擊的所有元素,計(jì)算屬性中直接根據(jù)這個(gè)數(shù)組計(jì)算出文本返回即可。


查看完整回答
反對(duì) 回復(fù) 2019-02-15
  • 1 回答
  • 0 關(guān)注
  • 2608 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)