Pull to refresh
10
0
Михаил Смирнов @m_smirnov

User

Send message
Нет, не рассматривали, потому что с Angular уже был опыт работы и для ускорения процесса решили остановиться на нём.
1. Не совсем понял вопрос про права доступа к контроллерам. На каждый http-запрос в $httpProvider у нас написан interceptor (можно прочитать здесь), который отслеживает 401 ошибку и если она возникает, то разлогинивает пользователя (принудительно чистит куки и редиректит на страницу авторизации)

Про success(user) — описка :)

2. Предзагрузка данных делается следующим образом: в самом верху index.html находится <div ng-controller="InitCtrl"></div>. Этот контроллер отвечает только за загрузку данных. В $rootScope есть объект, показывающий, какие данные загружены (хранить это в $rootScope не очень красиво, но пока что так):

$rootScope.loaded = {
    user: false,
    clients: false,
    tariffs: false,
    backups: false
};


В этом контроллере, при его инициализации, одновременно запускаются функции загрузки данных и в success у каждой из них выставляется флаг в $rootScope.loaded. Например:

Backups.getBackups(function () {
    $rootScope.loaded['backups'] = true;
});


Благодаря тому, что интерфейс у нас основан на раздельных виджетах, мы можем показывать и скрывать разные виджеты в зависимости от стадии загрузки данных.

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity