2

ドキュメントの本文にカスタム イベントを添付することは可能ですか? シンプルなメッセージバスを実装したい。jQuery で何度も実行しましたが、ExtJS で実行する方法がわかりません。

ありがとうございました。

4

3 に答える 3

3

イベントを body や DOM 要素に添付する必要はありません。むしろ、専用のオブジェクトに添付したいと思います。

お気に入り :

MyApp.MessageBus = Ext.extend(Ext.util.Observable, {

  // I don't think it's necessary to declare all events
  events : {
    sayHello : true
  }


});

MsgBus = new MyApp.MessageBus();

そして、あなたのコードのどこかに:

MsgBus.on('sayHello', function(who) { alert("Hello, " + who); });

そして、別の場所で:

MsgBus.fireEvent('sayHello', 'innerJL');
于 2011-01-15T14:30:13.657 に答える
1

私はDrasillに同意します。また、Extコミュニティには、Observableに基づいて単純なバス実装を作成するための多くの例があります。初心者については、ここここを参照してください。

于 2011-01-15T15:40:11.123 に答える
1

ドキュメント自体に配置することは、カスタム イベントを発生させるという点で問題があります。Ext.util.Observableの結果の表現として拡張されたクラスを作成するだけで済みますExt.getDoc

しかし、すでに持っている Observables に追加することで、イベントをバブルアップできますenableBubble : ['foo', 'bar']。つまりfireEvent('foo')、任意の子 Observable に対して行うと、リスナーが存在する上部にバブルアップします。

于 2011-01-15T23:27:02.297 に答える