2013-03-03 60 views
0

我有一个导航视图,其上有一些项目,如果我pop该项目和push修改后,我的控制器中的事件监听器不再触发。我怎样才能让他们再次工作?我不明白,因为每当我推回来时,每个项目都会从头开始破坏并创建。 Autodestroy已启用。Sencha Touch 2导航视图弹出和推送事件监听器

//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") } 

通过以上,所有的事件,水龙头等打破视图

+0

一些代码如何 – 2013-03-03 23:03:25

+0

我用一些代码更新它。 – Akshat 2013-03-03 23:08:16

+0

分享你的听众 – 1Mayur 2013-03-04 18:58:01

回答

0

我有同样的问题,搜索论坛的负荷,失去了很多的时间,对Sencha支持感到愤怒,最后将按钮处理程序代码从控制器移回到视图中:

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

“肮脏”,但它的作品。

我怀疑这种行为的原因是NavigationView.pop()销毁实际的NavigationView,但不是它的下属对象。