鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ 最認(rèn)真的提問之Vue非父子組件之間通信的bug

最認(rèn)真的提問之Vue非父子組件之間通信的bug

1.一共三個組件
-1- 點餐組件
-2- 已點組件
-3- 按鈕組件(添加餐品的按鈕)
2.邏輯功能
-1- 在點餐組件里面點擊添加按鈕,想要在已點里面展示
3.已有代碼
-1- 點餐組件:

clipboard.png

將這個計算組件傳入按鈕組件:

clipboard.png

-2- 按鈕組件里面接受這個值并且傳遞給已選組件:

clipboard.png

-3- 已選組件:

clipboard.png

4.問題:
每個餐品需要點擊兩次才能顯示在已點組件里。

5.個人分析:
沒有經(jīng)過點擊添加事件時,餐品的count一開始是沒有的,所以傳遞給按鈕組件其實是個空的;當(dāng)點擊了添加按鈕之后,將餐品的count加1之后,點餐組件里的計算屬性判斷才會通過,這樣才會顯示出來;每個餐品都是這樣

6.如果直接傳值給已選組件,并且如果已選是選餐的子組件,是沒問題的;但是現(xiàn)在問題是這兩者不是父子的關(guān)系,是兄弟關(guān)系,試著通過eventbus,但是也還是不行,eventbus是頁面created的時候只會執(zhí)行一次

7.求問怎么解決┭┮﹏┭┮

回答
編輯回答
焚音

哇蘇大小學(xué)妹,我覺得你放棄 Bus,用 vuex 吧,這種情況把數(shù)據(jù)都放在 store 里就好了,不需要處理這么多事件,只要關(guān)心怎么修改數(shù)據(jù)就好了,在別的組件里可以直接拿到商品數(shù)據(jù),不需要通過事件來通知其他組件。

2017年8月18日 22:53