Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.11.2015, 14:24
Аватар для Infarch
Профессор
Отправить личное сообщение для Infarch Посмотреть профиль Найти все сообщения от Infarch
 
Регистрация: 06.06.2014
Сообщений: 292

Листенер для store.load
Здравствуйте.

У меня тут возник вопрос по добавлению листенера к стору. Имеется конструкция типа "Кощеева смерть": окно, в нем кардлаяут, в карте панель, в панели грид, у грида стор. Я хочу прицепить к стору хендлер на load. Сама функция расположена в контроллере окна.
store: {
	type: 'emailsearchuser',
	listeners: {
		load: 'loaded'
	}
},

На этом я получаю ошибку: [E] Ext.util.Event.getFireInfo(): No method named "loaded" on SafetyRound.store.EmailSearchUser.
Попробовал указать листенерам скоп:
store: {
	type: 'emailsearchuser',
	listeners: {
		load: 'loaded',
		scope: 'controller' // <---------
	}
},

Опять таки ошибка: Ext.mixin.Observable.resolveListenerScope(): scope: "controller" can only be specified on classes that derive from Ext.Component or Ext.Widget.
И как же мне использовать метод из контроллера?
Ответить с цитированием
  #2 (permalink)  
Старый 11.11.2015, 15:33
Профессор
Отправить личное сообщение для siber-biber Посмотреть профиль Найти все сообщения от siber-biber
 
Регистрация: 07.08.2013
Сообщений: 214

вешайте лиснер недекларативным способом как вариант..
store.on('load', controller.loaded, controller);
Ответить с цитированием
  #3 (permalink)  
Старый 11.11.2015, 16:00
Аватар для Infarch
Профессор
Отправить личное сообщение для Infarch Посмотреть профиль Найти все сообщения от Infarch
 
Регистрация: 06.06.2014
Сообщений: 292

Так то он вешается. А хотелось через конфиг.
Ответить с цитированием
  #4 (permalink)  
Старый 12.11.2015, 10:13
Аспирант
Отправить личное сообщение для XAPuTOH Посмотреть профиль Найти все сообщения от XAPuTOH
 
Регистрация: 17.12.2012
Сообщений: 63

Можно попробовать подвесить обработчик из контроллера.
Например в сторе указать референс. а при инициализации контроллера:
this.lookupReference('store').on('load', this.onStoreLoad, this);
Ответить с цитированием
  #5 (permalink)  
Старый 12.11.2015, 11:08
Аватар для Infarch
Профессор
Отправить личное сообщение для Infarch Посмотреть профиль Найти все сообщения от Infarch
 
Регистрация: 06.06.2014
Сообщений: 292

XAPuTOH, разве это отличается от варианта предложенного siber-biber? Я так и делаю, просто мне странно что такая крутая система программирования через конфиги как у экста дала сбой на подобной ерунде.
Ответить с цитированием
  #6 (permalink)  
Старый 12.11.2015, 12:10
Профессор
Отправить личное сообщение для siber-biber Посмотреть профиль Найти все сообщения от siber-biber
 
Регистрация: 07.08.2013
Сообщений: 214

Все эти авто распознавания scope насколько я понимаю работают для дерева компонентов и на этом поставили точку. А у вас стор.
Тут ситуация сложнее ..стор может быть расшарен между компонентами, я думаю могут быть некоторые сложности с резолвом.. Не хотели усложнять видимо настолько.
Ответить с цитированием
  #7 (permalink)  
Старый 12.11.2015, 18:18
Аватар для Infarch
Профессор
Отправить личное сообщение для Infarch Посмотреть профиль Найти все сообщения от Infarch
 
Регистрация: 06.06.2014
Сообщений: 292

Видимо, да. Ну ладно, пусть это будет наибольшей проблемой Экста )
Ответить с цитированием
  #8 (permalink)  
Старый 21.11.2015, 05:16
Аватар для nohuhu
Профессор
Отправить личное сообщение для nohuhu Посмотреть профиль Найти все сообщения от nohuhu
 
Регистрация: 21.05.2015
Сообщений: 321

@Infarch,

Автораспознавание scope действительно работает только для компонентов, и причин тому несколько (в т.ч. указаная siber-biber).

Декларативную конфигурацию можно использовать с контроллерами, через специальный домен событий store: http://docs.sencha.com/extjs/6.0/6.0...ler-cfg-listen. Причём этот вариант будет работать не только с глобальными контроллерами, но и с ViewController тоже. :)

Простор для фантазии...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Идеи для фотосессии VIPuts Ваши сайты и скрипты 9 19.12.2015 15:47
Бесплатный Сервис для создания блога для программиста khusamov Оффтопик 34 27.05.2015 17:28
[job] JS-разработчик (+Angular) на UI внутреннего проекта (для других разработчиков:) Anna-HR Работа 12 19.01.2015 13:50
drag-and-drop и position:fixed dotwatt Элементы интерфейса 5 05.12.2012 08:44
IDE для Java Script constant Библиотеки/Тулкиты/Фреймворки 0 27.09.2012 09:31