代码之家  ›  专栏  ›  技术社区  ›  Viswa

在Sencha视图之间导航

  •  0
  • Viswa  · 技术社区  · 13 年前

    我正在开发sencha touch应用程序,它有很多视图,视图之间有很多导航,我使用以下代码完成了这项工作

    Ext.Viewport.add({
        xtype : 'view2'
    });
    Ext.Viewport.animateActiveItem(this.getView2(), {
        type : 'slide',
        direction : 'right'
    });
    

    但是,比方说,当用户从视图1导航到视图2,从视图2导航到视图3时,从视图3当用户向后翻页按钮时,我在上面写了从视图3导航到视图2中的代码。

    上面的代码起作用了,但view1首先像闪光灯一样出现,然后移动到view2。

    此外,有时在视图之间导航时会出现白色页面。

    1 回复  |  直到 13 年前
        1
  •  1
  •   Community Mohan Dere    6 年前

    sencha touch中提供了一个组件,正是用于此目的(处理多视图推送/弹出),它是 NavigationView 。如果你参考文档,你会看到提供了很多配置选项,可以帮助你设计和维护视图。 导航视图最棒的地方是,您将获得 back button 每当你推送一个新视图时。

    基本上,其想法是,将一个父视图作为导航视图,并将所有其他视图作为子视图添加到此父视图。所以,每当你添加一个新的子项时,它就会被推到堆栈上。和stack一样,我们可以将视图推送到导航视图或从导航视图弹出视图。

    导航视图还有一个很酷的地方,那就是您再也不用担心DOM大小了。通过适当的配置设置,sencha touch将在弹出未使用或不必要的视图时立即删除这些视图。这将帮助您提高应用程序的性能。

    我在几乎所有的项目中都使用了导航视图,深度视图级别高达6-7。如果处理得当,这从来都不是问题。

    您所遵循的当前策略可能还有其他问题,但您可以使用导航视图来查看差异 强烈地 建议你这么做。