我有3个用户权限 - 管理员,用户和编辑者。设置方式是:
如果您是Admin
,则返回roles: ["Admin", "User", "Editor"]
如果您是User
,则返回roles: ["User"]
如果您是Editor
,则返回roles: ["User", "Editor"]
现在我现在拥有的是其他两个人的ng-show="object.roles.length < 2" = User
等等。
我确信有更好/更聪明的方法可以做到这一点,或者这样做更容易。我只是不确定如何以不同的方式去做。谢谢你的建议。
答案 0 :(得分:4)
<div ng-show="roles.indexOf('Admin') >= 0"
或者,为了更清洁,委托范围函数:
<div ng-show="hasRole('Admin')"
和
$scope.hasRole = function(roleName) {
return roles.indexOf(roleName) >= 0;
}
答案 1 :(得分:0)
这对我有用:
<div class="lil" ng-show="role.rileName.includes('someother') == 0 && role.rileName.includes('Admin')">
<a class="{{role.rileName}}" href="javascript:void(0);" title="{{role.rileName}}" ng-controller="sampleRequestController" ng-click="addSamples(role.rileID,items.CanOrder);">{{role.rileName}}</a>
</li>
它不会显示if == 0
,否则会显示。