通过在两个不同视图中包含xtype视图来复制DOM元素

时间:2013-03-21 18:03:18

标签: sencha-touch-2 duplicates xtype

我有一个应用程序在启动时由xtype启动视图以让用户注册。此视图有一些选择域,并且所有工作都按预期工作。该用户还可以选择跳过此视图并稍后访问它。当用户稍后访问此视图时,我遇到的问题是数据没有附加到正确的元素。正在设置值,但运行Ext.ComponentQuery.query('[itemId=item_name]')会返回2个元素。不知何故,这个观点的元素正在重复。

我也尝试在此视图的配置中设置autoDestroy: true,但这无论如何都没有效果。

我还尝试在destroy()事件上使用deactivate()方法手动销毁视图。当我这样做时,行为变得奇怪,从另一个推送视图中选择一个项目并返回到配置文件屏幕会导致导航视图中断,就像这个视图不存在一样。导航栏的标题断开,后退按钮显示不正确。

为什么视图元素是重复的?我该如何防止这种情况。

1 个答案:

答案 0 :(得分:0)

经过进一步调查后,我发现该视图并没有像其他视图一样从DOM中自动销毁,因此可以进一步查看。然后我意识到我实际上是使用Ext.Viewport.setActiveItem(Ext.create('MyApp.view.Main'));

导航离开视图

item.destroy()事件上添加deactivate电话就可以了。虽然在Ext.Viewport.setActiveItem之后,Ext.Viewport.remove()也可以完成这个技巧!

希望这有助于某人!