в моем приложении у меня есть несколько пользователей rol0 (администратор, дистрибьютор, покупатель).По умолчанию я показываю 3 пункта меню.Но если у пользователя в его списке статей есть articleAA
, я показываю ему новый пункт в меню только для этой статьи и другого элемента по умолчанию.То же самое, если у него есть articleBB
, я показываю ему пункт меню для этой статьи.При входе в систему я проверяю это и показываю меню
$scope.allArticles = allArticlesFactory.get();
$scope.allArticles.$promise.then(function(data) {
angular.forEach(data, function(key, value){
switch (key.type){
case 'articleAA':
$scope.articleAA= true;
break;
case 'articleBB':
$scope.articleBB= true;
break;
default:
$scope.articleAA= "";
$scope.articleBB= "";
}
});
});
})
В меню с ng-if
я проверяю значение
<li ng-if="articleAA === true"><a class="aktivniItem" ui-sref="articleAA">articleAA</a></li>
<li ng-if="articleBB === true"><a class="aktivniItem" ui-sref="articleBB">articleBB</a></li>
ПРОБЛЕМА: когда я вхожу, как admin
, я получаювсе пункты меню, и это нормально.Когда я захожу как покупатель, у которого есть articleAA
и articleBB
, я получаю все пункты меню, и это нормально.Но, когда я захожу как другой покупатель, у которого нет этой статьи, эти два меню все еще здесь.Когда я обновляюсь, этот специальный пункт меню исчезает.
Я пытаюсь поверх контроллера поставить
$scope.articleAA= "";
$scope.articleBB= "";
, а также
$scope.articleAA= false;
$scope.articleBB= false;
Но та же проблема здесь.Следующий пользователь всегда получает меню от предыдущего пользователя, но если он обновляется, все в порядке.
меню по умолчанию | Home | Articles | Info |
, если у пользователя есть articleAA | Home | Articles | Info | ArticleAA |
, если у пользователя есть articleBB | Home | Articles | Info | ArticleBB |
, если у пользователя есть articleAA и articleBB | Home | Articles | Info | ArticleAA | ArticleBB |
Thnx