2

这里有人使用 EXTJS 4 BETA 3 制作了 MVC 应用程序吗?并且工作正常?请帮助我如何?,..

我在这里一步一步地跟着..和@Abdel Olakara帮助

但仍然有一个错误......这里是我的萤火虫

[Ext.Loader] Synchronously loading 'AM.controller.Users'; consider adding  
Ext.require('AM.controller.Users') above Ext.onReady  

[Ext.Loader] Synchronously loading 'AM.store.Users'; consider adding  
Ext.require('AM.store.Users') above Ext.onReady

this.getView('Viewport') is null

当我在论坛上读到这篇文章时...... MVC 指南仍然存在一些错误......

所以,如果你让它工作..怎么样?

这是我的Application.js

Ext.Loader.setConfig({enabled:true}); 
Ext.create('Ext.app.Application', {
    name: 'AM',

    controllers: [
        'Users'
    ],

    views: [
        'user.List'
    ],

    launch: function() {
        Ext.create('Ext.container.Viewport', {
            layout: 'fit',
            items: {
                xtype: 'userlist'
            }
        });
    }
});

我正在尝试在 Extjs 中学习 MVC ......对不起,如果我的英语不好......

4

2 回答 2

4

好吧,我想我应该收回我的话!通过煎茶博客后,我取得了一些成功。最后,让我的 MVC“Skeleton”运行起来!

这是工作代码:

Ext.Loader.setConfig({enabled:true});
Ext.create('Ext.app.Application', {
    name: 'AM',
    autoCreateViewport: false,
    controllers: [],

    launch: function() {
        Ext.create('Ext.container.Viewport', {
            layout: 'fit',
            items: [
                {
                    xtype: 'panel',
                    title: 'Users',
                    html : 'List of users will go here'
                }
            ]
        });
    }
}); 

请注意,代码非常少,并且已删除论坛和此处报告的常见错误。下一步将开始使用此代码并在其上添加控制器、视图等!

我会继续更新这个答案。


更新:提到的前两个错误实际上并不是错误。它们是警告,即使显示这些警告,应用程序也能正常工作。你提到的第三个错误是一个塞子!

视口问题的解决方法 这里有两种解决方法。

  1. 使用该autoCreateViewport: false,属性并定义您的视口(我看到您已经在启动方法中定义了您的视口)
  2. 创建一个 Viewport.js 并将其保存在视图文件夹中。在这种情况下,我觉得我的启动方法是空的,并将视口代码移动到 Viewport.js 文件中。但我确实得到了一个错误:

    未捕获的类型错误:无法调用 null 的方法“创建”

于 2011-04-19T10:57:40.430 回答
0

我确实使用 ExtJS 4.1。

如果我放置,在我的代码中调用警告消息[Ext.Loader] Synchronously loading 'OOO.store.News'; consider adding
Ext.require('OOO.store.News') above Ext.onReady

stores: [
    'News',
],

在我的app/Application.js文件而不是app/controller/OOO.js文件中。

所以放入stores:[],控制器文件。

于 2012-07-06T10:49:07.833 回答