我有一个api,用于识别我是否拥有任何权限。我想做的是,如果我没有特定的许可,则显示/隐藏按钮。
这是我使用api的代码:
function users (){
$http.get('/api/users')
.then(function(data){
$scope.thisUser = data.data.Response;
//console.log($scope.thisUser);
});
}
它回复了这样的事情:
0:{RoleName: "basic user", Select: true}
1:{RoleName: "advance user", Select: false}
如果我没有advance user
权限{{},我如何传递ng-show / ng-hide参数以允许或拒绝下一个按钮的可见性1}}:
(if Select: false)
我没有触发任何搜索权限,因为当我使用api时,它会识别用户的权限。
我正在使用AngularJs和Javascript。
提前完成。
答案 0 :(得分:2)
如果您能够使用名为lodash的库,您应该可以
<button ng-show="isUserAdvanced()" class="btn btn-info">Next Step</button>
然后添加一个新方法如下:
isUserAdvanced() {
return _.findIndexOf( $scope.thisUser, {RoleName: "advanced user", Select: true}) != -1;
}
正如@skyboyer所提到的,如果没有lodash依赖,最好这样做:
isUserAdvanced() {
return $scope.thisUser.some(role => role.Select && role.RoleName == "advanced user");
}
答案 1 :(得分:1)
你可以使用find或一些
isUserAdvanced() {
return $scope.thisUser.some(role => role.Select)
}