Sencha Touch 2プロジェクトにボタンがあります。 ボタンは押された後でビューで破棄され、別のボタンが押された後に再構築されます。Sencha Touch 2ボタンルーズリスナー
しかし、ボタンはリスナーを再度取得しません。
リスナーは、ビューのコントローラにビルドされています。
Ext.application({
name: 'App',
controllers: ['Main','Home'],
views: ['Main','Home'],
launch: function() {Ext.Viewport.add({xtype:'mainview'});}
});
コントローラ
Ext.define('App.controller.Home', {extend: 'Ext.app.Controller',
config: {
refs: {homeView: '#homeview',backBtn: '#btn_test1'},
control: {
backBtn: {
tap: function(backBtn){
console.log('[Controller][Home] btn monatsrate - - tap');
Ext.Viewport.add({xtype: 'mainview'});
Ext.Viewport.setActiveItem(1);
}
},
homeView: {
deactivate: function (homeView){
console.log('[Controller][Home] autodestroy homeview');
//homeView.destroy();
Ext.Viewport.remove(homeView);
}
}
}
},
});
とビュー
Ext.define("App.view.Main", {
extend:"Ext.Container",
xtype:"mainview",
config:{
id:'mainview',
items:[
{
xtype:'button',
id:'btn_test2',
text: 'test2'
}
]
},
})。
どのようにボタンをリスナーに戻すのを許可するか考えていますか?
私はそれがIDの問題だとは思いますが! Ext.Viewport.add({xtype: 'mainview'});を実行するこのコード。同じIDでより多くのビューを作成します。私はハンドラが常に最初のものに取り組んでいると信じています。 – igrek