如何从xtype创建视图并传递到导航视图的推送功能

时间:2012-11-30 23:46:02

标签: sencha-touch sencha-touch-2

我在Sencha Touch中看到了新的NavigationView组件的示例。如何基于使用其xtype切换到另一个视图。 API文档似乎省略了一个显示最常见用法的有用示例(即使用xtype创建新视图)。或者我错过了什么?

在他们的示例中:http://docs.sencha.com/touch/2-0/#!/api/Ext.navigation.View

他们使用引用“视图”来推送新视图。 但我的问题是:

1)如果最初导航到的视图是xtype加载的结果,如下所示:

Ext.Viewport.add({xtype:'testnavview'});

然后,如果使用来自原始控制器的xtype隐式加载视图,那么如何获取对它的引用以将视图推送到它?

2)然后我怎样才能使用xtype将视图推送到导航视图(见下文?)......

即。我可以做这样的事情:

Ext.define('MyApp.view.TestNav', {
    extend: 'Ext.NavigationView',
    alias: 'widget.testnavview',
    config: {
        items: [
            {
                xtype: 'toolbar',
                docked: 'top',
                title: 'View 1',
                items: [
                {
                    xtype: "button",
                    text: "View1",
                    handler: function () {
                        console.log("handler view1");

                        this.push({ xtype: "View1" });

                    }
                },
                {
                    xtype: "button",
                    text: "View2"
                },
                 {
                     xtype: "button",
                     text: "View3"
                 },
                 {
                     xtype: "button",
                     text: "View4"
                 }

                ]
            }
        ]
    }

});

1 个答案:

答案 0 :(得分:0)

您可以通过在控制器中添加对它的引用来检索导航视图:

refs: {
  navigationView: 'navigationview'
}

然后你可以在控制器的任何地方得到它:

this.getNavigationView().push({xtype: 'myPushedView'});