在sencha touch 2 Ext.navigation.View
中,可以push()
和pop()
其他视图进出。那些其他视图会触发hide
和show
之类的事件。可悲的是,这些事件在推送时按此顺序触发:(注意粗体)
和这样:
所以依赖show
或hide
事件并不是最好的主意,因为两种情况都会被解雇。
我认为这是一个错误,类似的东西已经discussed。尽管如此,我在使用的版本(ST 2.0.1.1)中仍然存在此行为,并且根据论坛中对@rdougan的解释:
这背后的原因是当从卡中移除物品时 布局,它实际上可能会显示在其他地方 - 或许它是 变为可浮动的。所以我们必须将项目还原为它 原始的可见状态。
也不会改变。所以我试图找出哪个事件真的正在发生。
答案 0 :(得分:1)
这个问题有一个解决方案。假设有人在视图中侦听事件而不是控制器,您可以使用此litte片段:
Ext.Array.contains(this.up('navigationview').getActiveItem().getXTypes().split('/'), this.xtype)
检查您的视图是否实际显示(true
)或隐藏(false
)。当然,您必须在用于使其工作的视图上定义自己的xtype
配置属性。就我而言,它是Ext.Panel
。