0

我是 Sencha Touch 2 的新手,对视图之间的导航有一些疑问。在不同视图之间导航的最佳方式是什么?我尝试使用提供的 NavigationView 类,但它没有提供我想要的全部功能。

目前我正在为我的应用程序使用一个简单Ext.ContainerViewport。我声明refs了视图,当我更改为我的新视图时,我controller目前这样做:

var oldView = this.getOldView();
Ext.destroy(oldView);

var newView = Ext.create('MyApp.view.MyView');
Ext.Viewport.add(newView);

但我不确定这是否是正确的方法,也找不到合适的文档。目前,在我看来,当我手动销毁视图时controller会丢失。refs那么在视图之间来回导航的最佳方式是什么(类似于 NavigationViewpush()pop())?我必须销毁旧视图并添加新视图吗?还是我只是隐藏旧视图并添加新视图?

4

1 回答 1

0

如果您想随意自定义视图,不推荐使用Ext.NavigationView 。请改用基本类型,例如:Ext.Container(推荐)、Ext.Panel 等。

只要您的组件可用,每次您再次销毁或添加视图时,refs仍然有效。

但作为一个新手,我可以建议您创建所有需要的组件,并在需要时简单地激活/停用它们,这是一种简单的方法(但不是性能最佳)。

如果要激活视图,首先必须找到该视图的父视图。例如,您有一个Ext.Container,其中包含三个面板。然后,如果您想激活该容器的第二个面板,请使用setActiveItem(yourContainerRef, 1)(无动画)或animateActiveItem(yourContainerRef, 1, {type: 'slide'})

于 2012-04-12T12:57:03.370 回答