首页 >社区问答列表 >javascript - vue中一个组件如何更好地监听另一个组件的事件

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组件的方法在我点击后自动触发

  • 学习ing
  • 学习ing    2017-06-14 10:55:441楼

    可以在E组件computed store的值,然后watch这个值,然后根据store的值改变后触发watchhandler,如果需要每次点击相同组件都触发,需要每次点击都要改变一个值,computed应该是缓存的。
    更好的方法应该是写成vuex的一个action吧,然后在每个组件中导入这个action,就可以使用了。

    +0添加回复

  • 回复