0

我正在使用 Ext-JS 4 创建一个应用程序。

牌:

1.) 登录卡

2.) 申请卡

申请卡片有边框布局。

当我单独展示它们时,它们可以工作,但是当我将它们放在一个视口中时,它们就不起作用了。

这是我的视口

Ext.define('MyApp.view.Viewport', {
    extend: 'Ext.container.Viewport',
    layout: 'card',

    items: [
        {
            xtype: 'loginform',
        },
        {
            xtype: 'mainapp'
        }
    ]
});

这是我的登录卡的一部分:

Ext.define('Sabrina.view.login.Form' ,{
    extend: 'Ext.form.FormPanel',
    alias : 'widget.loginform',

    name: 'loginform',
    frame: true,
    title: 'Login',
    bodyPadding: '5px 5px 0',
    width: 350,
    ...

这是我的申请卡的一部分:

Ext.define('Sabrina.view.Main', {
    extend: 'Ext.panel.Panel',
    alias: ['widget.mainapp'],
    layout: 'border',
        items: [
          //here I have 'west' and 'center' regions
        ]

我在不同的应用程序中分别创建了相同的组件,它们可以工作,但在这里不行。如果我想在卡片布局中添加边框布局,是否需要添加更多内容?

我得到这个:

Uncaught TypeError: Cannot call method 'substring' of undefined

谢谢你。:)

4

2 回答 2

3

viewport 只能处理一个元素,而 cardlayout 可以管理许多元素,而只有一个元素处于活动状态。使视口的唯一元素成为具有卡片布局的容器,并为视口提供一个 fitlayout,这应该可以工作。

您的错误听起来更像是未知的 xtypes。无论如何,尝试描述的布局,也许错误消失了。

于 2012-09-24T05:03:55.867 回答
1

为什么不将登录窗口显示为模式?在我看来,使用卡片布局仅用于登录,然后实际应用程序是矫枉过正的。

于 2012-09-24T14:37:11.787 回答