NG-显示数组是否包含某个值而不是另一个
NG-Show if array contains a certain value and not another
我有 3 个用户权限 - 管理员、用户和编辑。这是设置的方式是:
如果您是 Admin
,则 return 是 roles: ["Admin", "User", "Editor"]
如果您是 User
,则 return 是 roles: ["User"]
如果您是 Editor
,则 return 是 roles: ["User", "Editor"]
现在我拥有的是 ng-show="object.roles.length < 2" = User
等等。
我确信有一种 better/smarter 方法可以做到这一点,或者这种方法可能更容易做到。我只是不确定如何以不同的方式去做。感谢您的建议。
<div ng-show="roles.indexOf('Admin') >= 0"
或者,为了更简洁,委托给范围函数:
<div ng-show="hasRole('Admin')"
和
$scope.hasRole = function(roleName) {
return roles.indexOf(roleName) >= 0;
}
这不是个好主意。您正在通过计算数组长度来管理应用程序的 UI。如果这改变了怎么办?我建议始终验证是否拥有所需的角色。例如 ng-show="hasRole('User')"
$scope.hasRole = function(role){
var indexOfRole = $scope.roles.indexOf(role); // or whatever your object is instead of $scope.roles
if (indexOfRole === -1)
return false;
else
return true;
}
这对我有用:
<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
,否则显示
我有 3 个用户权限 - 管理员、用户和编辑。这是设置的方式是:
如果您是 Admin
,则 return 是 roles: ["Admin", "User", "Editor"]
如果您是 User
,则 return 是 roles: ["User"]
如果您是 Editor
,则 return 是 roles: ["User", "Editor"]
现在我拥有的是 ng-show="object.roles.length < 2" = User
等等。
我确信有一种 better/smarter 方法可以做到这一点,或者这种方法可能更容易做到。我只是不确定如何以不同的方式去做。感谢您的建议。
<div ng-show="roles.indexOf('Admin') >= 0"
或者,为了更简洁,委托给范围函数:
<div ng-show="hasRole('Admin')"
和
$scope.hasRole = function(roleName) {
return roles.indexOf(roleName) >= 0;
}
这不是个好主意。您正在通过计算数组长度来管理应用程序的 UI。如果这改变了怎么办?我建议始终验证是否拥有所需的角色。例如 ng-show="hasRole('User')"
$scope.hasRole = function(role){
var indexOfRole = $scope.roles.indexOf(role); // or whatever your object is instead of $scope.roles
if (indexOfRole === -1)
return false;
else
return true;
}
这对我有用:
<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
,否则显示