0

我已经在 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"
                 }

                ]
            }
        ]
    }

});
4

1 回答 1

0

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

refs: {
  navigationView: 'navigationview'
}

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

this.getNavigationView().push({xtype: 'myPushedView'});
于 2012-12-01T09:39:55.393 回答