私は最近、プロジェクトでSencha Touchを使い始めましたが、しばらくの間ExtJSを使用してきましたが、この2つは多くの点で異なります。学習曲線を複雑にするために、私はSTを、UI /フレームワーク全体/すべてを処理するというよりも、基盤となるフレームワークとして適用しています。そのため、「painted」などのイベントの使用を維持したい一方で、要素のリスナーを設定する配列メソッドを使用したいという状況に遭遇しました。
ここに例があります-私は99%ポジティブです、私がやろうとしていることをするためのより良い方法があります:
Ext.create('Ext.Container', {
html: '<ul><li id="blah">Blah</li><li id="hooey">Hooey</li></ul>',
listeners: [{
element: 'element',
delegate: 'li#blah',
event: 'tap',
fn: function() { /* do something for blah */ }
},{
/* repeat for hooey, etc */
}]
});
反対に、コンテナに標準のリスナーが必要な場合はどうなりますか?
Ext.create('Ext.Container', {
listeners: {
activate: function() {
// do some stuff here
}
}
});
たとえば、アクティブ化リスナーを実行してから、アクティブ化/表示/ペイント/ whathaveyouのコンポーネントに要素タップイベントハンドラーを適用する代わりに、同じコンポーネントでこれらを実行するためのベストプラクティスを知りたいです。
注:extjsを使用したタグ付けは、そこにも適用されると思います。そうでない場合は、遠慮なく編集するか、お知らせください。タグを取得します。