私は常に new Vue() を使用してグローバル通信バスを定義してきました。そのため、コンポーネント間の通信には、一方が送信し、もう一方がリッスンするだけで済みます。その後、vuex に切り替えました。vuex は単なるグローバル データであると感じます。イベントをディスパッチする必要がある場合: たとえば、コンポーネント A のイベントがコンポーネント B のメソッドをトリガーする (たとえば、ボタンをクリックする、タイマーをキャンセルする)私が現在使用している方法は、ブール値を定義し、それがトリガーされるたびに false を受け取り、コンポーネント内でこの値を監視してメソッドを呼び出すことです。
写真に示すように:
それでは聞いてください:
もっと良い方法がある人はいますか?
これにはvuexを使うのが良いのではないでしょうか?なぜ無駄に見えるのでしょうか?これと同じように、loginSuccessを使ってユーザーのアバターを表示するかどうかを制御すると、かなり使い心地が良いと思います
。1. オブジェクトの状態変更を通知したいだけの場合は、イベントを使用することをお勧めします。
1. 親コンポーネントで対応するイベント名をリッスンし、子コンポーネントをトリガーすることにより、親コンポーネントと子コンポーネントの間でイベント通信を行います。
2. 非親子コンポーネントはイベントバスメソッドを使用します
2. コンポーネント間のデータ共有
1. 中規模および大規模なアプリケーションは vuex を使用します
2. アプリケーション シナリオが比較的少ない場合、親子コンポーネントはデータ転送にイベント バスを使用します