angularjs - 菜单项取决于用户文章
问题描述
在我的应用程序中,我有多个用户 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 |
如果用户有文章AA
| Home | Articles | Info | ArticleAA |
如果用户有文章BB
| Home | Articles | Info | ArticleBB |
如果用户有 articleAA 和 articleBB
| Home | Articles | Info | ArticleAA | ArticleBB |
Thnx
解决方案
推荐阅读
- mysql - 优化mysql if elseif和else逻辑
- firebase - Firebase 托管 400 错误请求
- python - 关于“使用 Dask 和 python 进行数据科学”一书中的示例代码
- wordpress - 搜索引擎和机器人文件
- html - 我怎样才能重新调整
- 标签位置?
- python - 将 cmp 转换为 python 3
- mongodb - 修改子文档/深度嵌套文档时,Parent.save() 不起作用
- c# - 在 MS Teams 上安装 MS Virtual Assistant 会导致在更改项目结构时出现问题
- firebase - 防止在firebase数据库中重复输入
- html - 如何用颜色填充 html 表格数据单元格?