В настоящее время я разрабатываю приложение Ext JS со многими видами/контроллерами/... Мне интересно, что лучше всего подходит для загрузки JS-контроллеров/представлений и т. Д. на ...Ext JS 4.2.1 контроллер загрузки - лучшая практика
в настоящее время я мое приложение определяется следующим образом:
// enable javascript cache for debugging, otherwise Chrome breakpoints are lost
Ext.Loader.setConfig({ disableCaching: false });
Ext.require('Ext.util.History');
Ext.require('app.Sitemap');
Ext.require('app.Error');
Ext.define('app.Application', {
name: 'app',
extend: 'Ext.app.Application',
views: [
// TODO: add views here
'app.view.Viewport',
'app.view.BaseMain',
'app.view.Main',
'app.view.ApplicationHeader',
//administration
'app.view.administration.User'
...
],
controllers: [
'app.controller.Viewport',
'app.controller.Main',
'app.controller.ApplicationHeader',
//administration
'app.controller.administration.User',
...
],
stores: [
// stores in there..
]
});
каким-то образом это заставляет клиент загрузить все мои взгляды и контроллеры при запуске и призывает все инициализации методы всех контроллеров конечно. . Мне нужно загружать данные каждый раз, когда я просматриваю свое представление .. и теперь я не могу загрузить его в мои контроллеры init functi на. Я должен был бы сделать что-то вроде этого, я предполагаю:
init: function() {
this.control({
'#administration_User': {
afterrender: this.onAfterRender
}
});
},
Есть ли лучший способ сделать это? Или просто другое событие?
Хотя главное, что я спрашиваю себя, это, если это самая лучшая практика для загрузки всего javascript при запуске. Разве не лучше было бы загружать контроллеры/представления/... которые нужен клиенту прямо сейчас? Или я должен загружать все JS при запуске?
Если я хочу динамически загружать контроллеры, как я могу это сделать? Я предполагаю, что вам придется удалить их из массивов приложений (представлений, контроллеров, хранилищ) и создать экземпляр, если он мне нужен, и mby установить представление в init-контроллерах ?!
Что лучше?
UPDATE
Would deftJS с ViewController быть хорошей альтернативой? Каковы основные плюсы и минусы deftJS?
В ответ на ваш связанный пост пользователь catalinux написал что-то о DeftJS. Я немного вникал в это, но это было для меня новым. Каковы основные плюсы и минусы этого? Есть ли недостатки с использованием DeftJS? – JuHwon
Мне нравится Deft для его IoC и отложенных/обещаний, но я думаю, что они прикрутили свои селектора для MVC. Например, вы не можете выбрать все поля в форме с Deft, но можете с помощью обычного extjs mvc. –
@NeilMcGuigan Я только начал использовать DeftJS, и я могу сказать вам, что последний оператор (не может использовать сложные селектора) неверен. Однако область действия селектора ограничена детьми контролируемого вида.Какой IMO - очень хорошая вещь: регулярный ExtJS позволяет вам выбирать что-либо из любого контроллера, который оставляет дверь открытой для создания скрытых зависимостей. Для меня ExtJS «MVC» был очень плохо спроектирован, и DeftJS, наконец, придал определенный смысл архитектуре приложения Ext. – RIAstar