バニラ JavaScript で独自のイベント バスを作成するのは簡単ですが、組み込みの DOM イベント処理 API とCustomEvent
アプリケーション イベント バスの を活用する利点はありますか?
1 に答える
1
ネイティブ DOM イベントは、期待するほど簡単ではありません。DOM イベントのバブリングと伝播の詳細。おそらくそれが、最新の JS フレームワークのそれぞれが、データを処理するために DOM イベントに依存していない理由です。
Angular 1.xには、使いやすい pub/sub システムが組み込まれていますが、アプリケーション ロジックで起こっていることとは関係がなく、大規模なアプリでは簡単に複雑になる可能性があります。
//subscribe and listen
$scope.$on(name, function(){});
//emit up or down
$scope.$broadcast(name, args);
$scope.$emit(name, args);
ReactJSには、イベントとそのデータを処理するための独自のシステムがあり、これも実際の DOM とは関係ありません。その場合、イベントはアプリケーションの実際の状態とより関連しており、それを実行するさまざまな方法により、それを処理するための一連のライブラリが作成されました ( flux、fluxxxor、reduxなど)。
イベントフロー思考アプリケーションを処理するための依存関係のない小さな (6kb) ライブラリもあります - PubSubJS。
于 2016-02-21T15:46:53.353 に答える