suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Wie kann eine Komponente in Vue besser auf die Ereignisse einer anderen Komponente hören?

Es gibt 4 Routing-Komponenten A, B, C und D unter der übergeordneten Komponente APP. Unter diesen 4 Routing-Komponenten befinden sich jeweils die Unterkomponenten A1, B1, C1 und D1. Unter der App befindet sich auch eine E-Komponente. Wenn auf diese Komponenten A1, B1, C1 und D1 geklickt wird, werden die Methoden in der E-Komponente ausgelöst und die entsprechenden Parameter an die Methoden in der E-Komponente übergeben. Jetzt besteht meine Methode darin,

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

Antworte allen(1)Ich werde antworten

  • 学习ing

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

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

    Antwort
    0
  • StornierenAntwort