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 回答