私のウィジェットをインスタンス化する際に、私は私のクリックハンドラを定義する場合:Dijitウィジェットのクラス宣言にイベントハンドラを配置できないのはなぜですか?
new W2({onClick: a_function});
postMixinProperies
中またはpostCreate
中:
dojo.declare("W2", [W1], {
postMixInProperties: function(){
this.onClick= a_function;
}
});
または宣言の1
<div data-dojo-type="W2">
<script
type="dojo/connect"
data-dojo-event="onClick">
a_function.call(this);
</script>
</div>
道場はないに近づく経由その魔法のようになり、domNodeのonclick
イベントが私のonClick
ハンドラ。
しかし、私は接続が明らかに壊れますクラス宣言にonClick
定義置く場合:
dojo.declare("W2", [W1], {
onClick: a_function
});
をそれはもうonclick
イベント後に自動的に呼び出されていない、直接my_widget.onClick
を呼び出すことも可能です。
なぜこのようなことが起こりますか、これは正常で、私のウィジェットクラスのイベントハンドラを定義するための「標準的な方法」は何ですか?
編集:W1ためコード:
dojo.declare("W1", [dijit._Widget, dijit._Templated], {
label: 'defaultLabel',
templateString: '<div>${label}</div>'
});
W1のコードを表示できますか? –
@flammon - もちろんです。興味深い。 – hugomg