2014-02-18 3 views
0

Я не использую угловые виды или маршрутизатор. просто ng-include. Я смог получить ленивую загрузку с ng-include (инициализация шаблонов с помощью dummy div), а также установить и обновить его после получения шаблона с сервера и обновления templateCache. Проблема заключалась в том, что большинство шаблонов времени не обновлялись. Также я хочу, чтобы пользователь мог видеть шаблон, если у пользователя есть разрешения. Разрешения будут проверяться на сервере.angularjs template cache lazy loading с разрешениями

Каков наилучший способ достичь этого?

ответ

0

я нашел следующее решение со следующим link

// CacheTemplate попойки. // // Удаляет успешное изменение маршрута (см. Ниже) шаблон предыдущей страницы // из кэша, как и приложение, отправляет другой запрос в // сервер, который, в свою очередь, права // пользователь/сеанс $ scope.tC = $ templateCache;

$rootScope.$on('$routeChangeSuccess', function(event, next, current) { 
     switch($location.path()) { 
      case '/login' : 
       $window.document.title = "LOGIN"; 
       $scope.loggedIn = false; 
       break; 
      case '/home' : 
       $window.document.title = "HOME"; 
       $scope.loggedIn = true; 
       break; 
      default: 
       $window.document.title = ""; 
       $scope.loggedIn = false; 
       break; 
     }; 

     // clear cache to trigger reloading 
     // (server decides if has permission or not) 
     if (current && current.$route) { 
      if ($scope.tC.get(current.$route.templateUrl)) { 
       $scope.tC.remove(current.$route.templateUrl); 
      }; 
     }; 
    }); 
    ...