как сделать "Приложение MVC" с extjs 4.0 beta 3? - PullRequest
2 голосов
/ 19 апреля 2011

Есть здесь кто-то, кто сделал приложение MVC, используя EXTJS 4 BETA 3?и работает нормально ??Пожалуйста, помогите мне, как ?, ..

Я следовал шаг за шагом здесь .. и @Abdel Olakara help

но все еще есть ошибка ... здесьмой firebug

[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

Когда я читаю this на форуме ... все еще есть какая-то ошибка в руководстве по 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'
            }
        });
    }
});

Я пытаюсь выучить MVC в Extjs ... извините, если мой английский плохой ..

Ответы [ 2 ]

4 голосов
/ 19 апреля 2011

Ну, я думаю, что я должен забрать мои слова! У меня был некоторый успех после прохождения блога сенча. И наконец, мой MVC "Скелет" работает!

Вот рабочий код:

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'
                }
            ]
        });
    }
}); 

Пожалуйста, обратите внимание, что код очень минимальный и удалили распространенные ошибки, о которых сообщалось на форумах и здесь. Следующим шагом будет начать играть с этим кодом и добавить на него контроллеры, представления и т. Д.!

Я буду обновлять этот ответ в будущем.


Обновление: Первые две упомянутые ошибки на самом деле не являются ошибками. Это предупреждения, и приложение работает нормально, даже если они отображают эти предупреждения. Третья упомянутая вами ошибка - пробка!

Решение проблемы Viewport Вот два способа ее решения.

  1. Используйте свойство autoCreateViewport: false, и определите ваш видовой экран (я вижу, что вы определили свой видовой экран в методе запуска)
  2. Создайте Viewport.js и сохраните его в папке просмотра. В этом случае я почувствовал, что мой метод запуска пуст, и переместил код области просмотра в файл Viewport.js. Но я получаю ошибку:

    Uncaught TypeError: Невозможно вызвать метод 'create' из null

0 голосов
/ 06 июля 2012

Я использую ExtJS 4.1.

В моем коде [Ext.Loader] Synchronously loading 'OOO.store.News'; consider adding<br> Ext.require('OOO.store.News') above Ext.onReady выдается предупреждение, если я помещаю

stores: [
    'News',
],

в мой файл app/Application.js вместо файла app/controller/OOO.js.

Итак, поместите stores:[], в файл контроллера.

...