Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.06.2011, 09:37
Новичок на форуме
Отправить личное сообщение для env0ke Посмотреть профиль Найти все сообщения от env0ke
 
Регистрация: 21.06.2011
Сообщений: 2

MVC и DirectAPI
Всем привет,

Столкнулся с такой проблемой в ExtJS 4. Пишу приложение по паттерну mvc, в функции launch приложения как и предписано добавляю провайдер:

Код:
Ext.direct.Manager.addProvider(Ext.app.DirectAPI);

Так же есть ряд view, model, store. Вот со стором как раз проблема - в нем я использую proxy с методом из API провайдера, но ругается на отсутствие этот API, якобы оно не задано.

Код:
Ext.define('FS.store.Subscribers', {
	extend: 'Ext.data.Store',

	model: 'FS.model.Subscriber',
	autoLoad: true,
	LoadMask: true,
	pageSize: 30,

	proxy: {
		type: 'direct',
		directFn: SubscribersApi.get_all_actions,
		reader: {
			type: 'json',
			root: 'data',
			successProperty: 'success',
			totalProperty: 'total'
		}
	}
});

В файрбаге вылезает ошибка SubscribersApi.get_all_actions is not defined, оно и понятно - launch запускается уже после загрузки всех компонентов приложения. Прошу знающих людей подсказать как у них организовано подключение провайдера, у меня сам Ext.app.DirectAPI задается в самом верху html до включения app.js, но даже если я выношу Ext.direct.Manager.addProvider(Ext.app.DirectAPI); из приложения, то все равно не работает - без ошибок, но загрузка приложения не проходит.

Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 21.06.2011, 10:11
Новичок на форуме
Отправить личное сообщение для env0ke Посмотреть профиль Найти все сообщения от env0ke
 
Регистрация: 21.06.2011
Сообщений: 2

Переписал стор на:

Код:
Ext.define('FS.store.Subscribers', {
	extend: 'Ext.data.DirectStore',

	initComponent: function() {
		var config = {
			model: 'FS.model.Subscriber',
			api: {
				read: SubscribersApi.get_all_actions
			},
			autoLoad: true,
			LoadMask: true,
			root: 'data',
			successProperty: 'success',
			totalProperty: 'total',
			pageSize: 30
		};
		Ext.apply(this, Ext.apply(this.initialConfig, config));
		this.superclass.initComponent.apply(this, arguments);
	}
});

Теперь страница загружается без ошибок, но приложение не рендерится.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Плагин JQuery Light MVC mgramin jQuery 0 28.11.2010 16:38
mvc вызов модели из модели jetli13 Серверные языки и технологии 2 28.10.2010 12:09
MVC vs API. Ваше мнение. B~Vladi Общие вопросы Javascript 58 19.10.2010 16:29