父组件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组件的方法在我点击后自动触发
学习ing2017-06-14 10:55:44
可以在E组件computed store
的值,然后watch
这个值,然后根据store
的值改变后触发watch
的handler
,如果需要每次点击相同组件都触发,需要每次点击都要改变一个值,computed
应该是缓存的。
更好的方法应该是写成vuex
的一个action
吧,然后在每个组件中导入这个action
,就可以使用了。