Динамическое `абстрактное` свойство UI-маршрутизатора - PullRequest
0 голосов
/ 27 мая 2018

Ну, я пытаюсь динамически установить для свойства ui-router's abstract значение true, чтобы я мог избежать несанкционированного доступа пользователя к этому маршруту.Я мог думать только о том, как достичь этой цели.Вот демонстрационный маршрут.

.state('project', {
    abstract: {{value}},
    url: '/users',
    templateUrl: 'views/configuration/index.html',
    },


Я хочу, чтобы после загрузки углового приложения все такие маршруты становились abstract-true, доступ к которым должен быть запрещен для пользователя.Пожалуйста, помогите мне в решении этой задачи и изучите что-то новое.

1 Ответ

0 голосов
/ 27 мая 2018

Вам нужна динамическая загрузка состояний с помощью $ urlRouter.sync () :

$urlRouter.sync();
$urlRouter.listen();

Я думаю этот пример в Plunker поможет вамразберитесь с вещами


var $stateProviderRef = null;

 // some value = {/* ... */}

 var getExistingState = $state.get(value.name)

  var state = {
     "url": value.url,
     "parent": value.parent,
     "abstract": value.abstract,
     "views": {}
   };

   angular.forEach(value.views, function(view) {
     state.views[view.name] = {
       templateUrl: view.templateUrl,
     };
   });

   $stateProviderRef.state(value.name, state);
 });        

 $urlRouter.sync();
 $urlRouter.listen();

Взял демо из здесь

...