Javascript.RU

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

Вызов ф-ций контроллера из другого файла приложения
Привет всем!

Есть у меня глобальный файлик со всеми маршрутами, подключен прямо в Application.js:
controllers:[
        'Routes'
    ],


Я хочу поменять вьюху в своем приложении по изменению маршрута, это делает функция `setCurrentView` в файле MainController.

Вопрос в том, как обратиться из роутера к ф-ции, которая в MainController (лежит в app\view\main\MainController.js)?

Нагуглил, что можно сделать так:
this.getApplication().getController('ControllerName').doSomething();


На getController вываливается ошибка, даже если я полное наименование пишу:
TypeError: controller.doInit is not a function


в requires при этом все прописано.

Прямой вызов через `console.log(MyApp.view.main.MainController);` выдает в консоли `constructor()` и все...

Как сделать правильно?

Последний раз редактировалось Sogl, 20.09.2016 в 10:04.
Ответить с цитированием
  #2 (permalink)  
Старый 30.09.2016, 03:24
Аватар для Sogl
Аспирант
Отправить личное сообщение для Sogl Посмотреть профиль Найти все сообщения от Sogl
 
Регистрация: 12.05.2016
Сообщений: 95

В общем, помогли мне таки на форуме Сенчи. Причем, именно тот человек, который писал туториал, по которому я и делал свое приложение.
Тема тут:
https://www.sencha.com/forum/showthr...ter-controller

В итоге я все делаю через fireEvent'ы, а в ViewController'ах слушаю события единственного контроллера с маршрутами.

В целом, оно то удобно, только проблема с переключением активного View никуда не пропала. Например, если мы логинимся, что через widget создается View главное, ходим по роутам и меняются вьюшки... но стоит обновить страницу на каком-то роуте, получаем пустой экран... View не загружено, а роут сработал. Также при рефреше обнуляется singleton с данными авторизации, требуется весь процесс повторить заново.

Есть какой человеческий пример с правильно построенными роутингом и авторизацией?
Ответить с цитированием
  #3 (permalink)  
Старый 30.09.2016, 10:32
Аватар для kolka
Кандидат Javascript-наук
Отправить личное сообщение для kolka Посмотреть профиль Найти все сообщения от kolka
 
Регистрация: 07.06.2010
Сообщений: 146

Sample Login App - из примера поймете как хранить..
А здесь как с роутами сохранять состояние...

Последний раз редактировалось kolka, 30.09.2016 в 10:43.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При передаче кода fancybox в div через .load из div другого файла не всплывает модаль alanat Ваши сайты и скрипты 1 02.07.2016 00:31
События контроллера приложения khusamov ExtJS 4 02.05.2016 20:51
Вызов функции из другого файла dmitriy94 Общие вопросы Javascript 11 10.04.2015 13:58
Как по событию подгрузить код из другого файла? jelome Элементы интерфейса 2 30.06.2011 09:58
Помогите: Вызов окна сохранения файла greatilya Общие вопросы Javascript 2 01.08.2008 14:56