Dojo でイベントがどのように機能するかを完全に理解したいと思います。私は実際に Dojo 2.0 の仕組みに興味があります。現在は 1.8 を使用していますが、2.0 で非推奨にならない機能の使用/文書化にのみ関心があります。今... _WidgetBase.jsで私は読んだ:
on: function(/*String|Function*/ type, /*Function*/ func){
// For backwards compatibility, if there's an onType() method in the widget then connect to that.
// Remove in 2.0.
これは基本的に、近い将来、ウィジェットの on が基本的に行うことを意味します。
on: function(/*String|Function*/ type, /*Function*/ func){
// Otherwise, just listen for the event on this.domNode.
return this.own(on(this.domNode, type, func))[0];
それは結構です。今... 1.8のリリースノートには、次のように表示されます。
「属性の変更を含むウィジェット イベントは、DOM ツリーのイベントとして発行されます」
リリースノートはこれを指しています: http://livedocs.dojotoolkit.org/quickstart/events#widget-events-published-to-the-domドキュメントは時代遅れのようですが (まだ「プレーンオブジェクト」のアスペクトについて話します)。
それで、私の質問:イベント全体が機能する現在の更新された方法を説明するページ/チケットのスポット/束はありますか?
私の現在の理解 (Dojo 2.0 について):
- on: on.js に 100% 委任
- emit: randomWidget.on('something', function(){}) を実行すると: <--- これは 2.0 でなくなりますか? -それ以外の場合は、on() に委譲します
つまり、道場/オンを理解することがすべてです。ソースコードを読むと、on.jsは機能をウィジェット自体に委譲しているようです(これは...上で書いたように、2.0からdojo/onに委譲するだけです...?!?)。オブジェクトに委任するビットが消える運命にない限り...?
また、テンプレートを使用してウィジェットを作成し、 data-dojo-attach-event="onclick:_click" を実行する項目を追加して、誰かがクリックしたときに関数が呼び出されるようにすることにも慣れています。新しい on() システムでは、これは変わりますか? (つまり、すべてのイベントが DOM に伝搬されるのですか?その逆もまた真ですか?)
それで、誰かがこれに光を当てることができますか?何が起こっているのか 100% 確信が持てないので、イベントを追加したり何かをしたりしている現在、少し不安を感じています。
ありがとうございました!