1

私は、さまざまなプラグインのさまざまなウィジェットがホストに読み込まれるアプリケーションに取り組んでいますが、それらはお互いを認識していません。したがって、EDPを使用して、あるウィジェットでイベント(たとえば、UserDeleted)を発生させ、別のウィジェットでそのイベント(有名なパブリッシャー/サブスクライバー、またはより具体的なオブザーバーパターンを取得しましょう)をサブスクライブしたいと思います。

jQueryでは、trigger()メソッドとbind()メソッドを使用してこれを実現します。ただし、ExtJSで同等のものを見つけることができません。私は何かが足りないのですか?または、Ext JSで緩く結合されたUIウィジェットを作成する他のパターンはありますか?

4

2 に答える 2

2

ウィジェットがお互いを知らない場合は、メディエーターパターンを使用する必要があります。

そして、Ext.util.Observableがあなたが探しているもののようです。

于 2012-10-17T11:24:51.347 に答える
2

ExtJS 4.x以降、Senchaは、MVCアプリケーションのクリーンで体系的なパターンでイベントをリッスンするコントローラーの概念を導入しました。このスキームでは、コンポーネントがイベント(組み込みまたはカスタム)を発生させ、コントローラーがそれらのイベントに応答します。

カスタムイベントを発生させるには、他のほぼすべてのExtJSクラスに継承されるObservableクラスでfireEventメソッドを使用できます。

于 2012-10-17T20:46:40.140 に答える