#extjs #extjs4
#extjs #extjs4
Вопрос:
Есть ли здесь кто-нибудь, кто создал приложение MVC с использованием EXTJS 4 BETA 3? и работает нормально?? пожалуйста, помогите мне как?, ..
Я следовал шаг за шагом здесь .. и @Abdel Olakara помогает
но ошибка все еще есть … вот мой 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
Когда я прочитал это на форуме … в руководстве по 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…
извините, если мой английский плохой..
Комментарии:
1. функции MVC все еще не готовы.. Вам придется подождать, пока команда разработчиков Ext JS выпустит его полностью со всеми исправлениями ошибок и надлежащей документацией.
Ответ №1:
Что ж, я думаю, мне следует взять свои слова обратно! Я добился некоторого успеха после просмотра блога sencha. И, наконец, мой «скелет» 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 Вот два способа ее решения.
- Используйте
autoCreateViewport: false,
свойство и определите свой видовой экран (я вижу, что вы определили свой видовой экран в методе запуска) -
Создайте Viewport.js и сохраните его в папке просмотра. В этом случае я почувствовал, что мой метод запуска пуст и переместил код области просмотра в Viewport.js файл. Но я получаю сообщение об ошибке:
Ошибка неперехваченного типа: не удается вызвать метод ‘create’ с нулевым значением
Комментарии:
1. Ext.Loader.setConfig({включено: true}); это то, что я ищу… «Я добился некоторого успеха после просмотра блога sencha. И, наконец, мой «скелет» MVC запущен! «в каком потоке?? можете дать мне ссылку??
2. на самом деле я все еще получаю ошибку
this.getView("Viewport") is null
, вроде этой: sencha.com/forum/… ….. теперь я изо всех сил пытаюсь это исправить ‘3. что ж.. у меня нет ошибки .. можете ли вы опубликовать свой последний код, отредактировав вопрос?
4. весь скрипт?? или только
Applicatition.js
?? я думаю, что со всеми сценариями здесь ничего не изменилось: dev.sencha.com/deploy/ext-4.0-beta3/docs/guide / … .. но просто для уверенности я отредактирую свой вопрос с моим последнимApplication.js
5. 1 @Abdel, отлично … теперь у меня все работает… но часть с предупреждением действительно раздражает… это похоже на то, что мы создаем приложение не на языке Ext4..
Ответ №2:
Я действительно использую 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
file.
Итак, поместите stores:[],
в файл контроллера.
Комментарии:
1. интересно, но это устраняет проблему с предупреждением. Спасибо