0

いくつかのアイテムを含むナビゲーションビューがありpop、アイテムpushが変更された場合、コントローラーのイベントリスナーはトリガーされなくなります。それらを再び機能させるにはどうすればよいですか?押し戻すと、各アイテムが破壊され、ゼロから作成されるため、取得できません。自動破棄が有効になっています。

//Add a view
this.view = Ext.create('ec.view.view1')
this.getNavigation().push(this.view);

//Remove a view (or press back in the navigationview)
this.getNavigation().pop();

//Add a fresh view back
this.view = Ext.create('ec.view.view1')
this.getNavigation().push(this.view);

コントローラー タップ ハンドラー

refs {
    button : '#button'
},
control : {
    button : {
        tap: 'OnTap'
    }
},
OnTap: function() { console.log("Tap") }

上記により、ビューのすべてのイベント、タップなどが壊れます

4

1 に答える 1

0

私は同じ問題を抱えていました。たくさんのフォーラムを検索し、多くの時間を失い、Sencha のサポートに腹を立て、最終的にボタン ハンドラー コードをコントローラーからビューに戻しました。

 xtype: 'button',
 text: 'Save',
 handler: function(button, event) {
     console.log('button pressed');
 }

「汚い」ですが、うまくいきます。

この動作の原因は、NavigationView.pop() が実際の NavigationView を破壊していることだと思いますが、下位オブジェクトではありません。

于 2014-02-05T15:36:52.350 に答える