Extjs 在Sencha Architect中显示按钮事件视图

Extjs 在Sencha Architect中显示按钮事件视图,extjs,sencha-architect,Extjs,Sencha Architect,我刚刚开始使用Sencha Architect,即使是最简单的事情,我也会遇到问题。我正试图转到下一个视图,这时单击了一个按钮。到目前为止,我的代码在单击按钮时发出警报 Ext.define('MyApp.view.Login', { extend: 'Ext.Container', config: { layout: { align: 'center', type: 'vbox' },

我刚刚开始使用Sencha Architect,即使是最简单的事情,我也会遇到问题。我正试图转到下一个视图,这时单击了一个按钮。到目前为止,我的代码在单击按钮时发出警报

Ext.define('MyApp.view.Login', {
    extend: 'Ext.Container',

    config: {
        layout: {
            align: 'center',
            type: 'vbox'
        },
        items: [
            {
                xtype: 'fieldset',
                width: 500,
                title: 'Login',
                items: [
                    {
                        xtype: 'selectfield',
                        label: 'Vælg bil',
                        store: 'cars'
                    },
                    {
                        xtype: 'passwordfield',
                        label: 'Adgangskode'
                    },
                    {
                        xtype: 'checkboxfield',
                        label: 'Husk mig'
                    },
                    {
                        xtype: 'button',
                        handler: function(button, event) {
                            alert("foo");
                        },
                        text: 'Log ind'
                    }
                ]
            }
        ]
    }

});

要添加新视图,应该使用什么来代替警报?

您可以使用此选项打开id为“sampleview”的视图:


我不能让它工作。我已经给了我的容器id“sampleview”,但是当事件触发时,什么也不会发生。控制台中甚至没有错误。我的项目在。你能看看吗?谢谢。没关系,你说得对,我只是用得不对。为什么需要创建事件视图?是否有一种方法可以在创建之前使用“Ext.Viewport.setActiveItem(Ext.getCmp('sampleview'));”?我检查了你的代码,但我看到你只使用了上面代码的一行。您只需编写:
var sample=Ext.create('App.view.SampleView');Ext.Viewport.setActiveItem(示例)而不是:
Ext.Viewport.setActiveItem(Ext.getCmp('sampleview'))我写上面的if条件只是为了避免多次创建视图。是的,我在再次查看代码时发现了这一点。我以为else子句只会创建一个空视图。你能为Sencha Architect推荐一些资源吗?外面好像没什么。谢谢你的帮助!不客气!事实上,这是一个非常新的工具,所以还没有很好的文档记录。因此,您现在应该在[上]处理现有文档。
if(Ext.getCmp('sampleview'))
{
    Ext.Viewport.setActiveItem(Ext.getCmp('sampleview'));
}
else 
{
    var sample = Ext.create('App.view.SampleView');
    Ext.Viewport.setActiveItem(sample);
}