首頁  >  問答  >  主體

javascript - vue中一個元件如何更好地監聽另一個元件的事件

父元件APP下面有A,B,C,D4個路由元件,這4個路由元件下面分別有A1,B1,C1,D1子元件,其中app下面還有一個E元件。 A1,B1,C1,D1這些組件點擊後要觸發E組件裡面的方法,並把對應的參數傳遞給E組件中的方法。現在我的方法是使用

this.$emit一层一层往上传递到父组件然后使用this.$refs 这样的方法激活E组件的方法和传递数据.
后来觉得这样麻烦就使用vuex, 把要传递的数据都放进store里面,但是不知道怎么使用vuex让E组件的方法在我点击后自动触发
習慣沉默習慣沉默2664 天前602

全部回覆(1)我來回復

  • 学习ing

    学习ing2017-06-14 10:55:44

    可以在E組件computed store的值,然後watch這個值,然後根據store的值改變後觸發watchhandler,如果需要每次點擊相同組件都觸發,需要每次都觸發,需要每次都觸發相同組件點選都要改變一個值,computed應該是快取的。
    更好的方法應該是寫成vuex的一個action吧,然後在每個組件中導入這個action,就可以使用了。

    回覆
    0
  • 取消回覆