我有2个用户:admin和super admin。它们都有相同的菜单,但内容不同。
知道最好的方法是什么让他们的观点?现在我正在使用ng-hide并检查他的身份。但更多的内容将是混乱的。
有没有一种好方法可以减少杂乱和更好的方法?
答案 0 :(得分:1)
干净的代码方式:只是因为菜单不同,你不应该为每个角色制作一个角度控制器。
您应该创建一个对象,为每个用户提供菜单项。角度部分应该只是渲染另一个对象提供的信息。
答案 1 :(得分:1)
这是一个典型的问题,您必须在服务器端解决,但如果您想在前端进行,我建议从服务器获取菜单,并正确设置正确的属性。
您的模型将获取它并将其存储在您的模型中,例如:
$http.get('http://rest-server/menu')
.success(function (data) {
$scope.my.menu;
});
该菜单将为特定用户(admin / superadmin / whatever)提供内容(单击菜单项 - >从定义的REST-API获取允许的服务)。
如果您想在前端完全实现它,具有技术背景的人可以轻松覆盖您的规则。
编辑:如果仅关于可显示的内容,您可以使用ng-if
,ng-show
,ng-hide
,stackoverflow上有很多示例。