我有一个 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}
如果我没有高级用户
权限,我如何传递 ng-show/ng-hide 参数以允许或拒绝下一个按钮的可见性(如果选择: false)
:
<button class="btn btn-info">Next Step</button>
我不会触发任何权限搜索,因为当我使用 api 时,它会识别用户的权限。
我正在使用 AngularJs 和 Javascript。
提前致谢。
最佳答案
如果您能够使用名为 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");
}
关于javascript - 如果我无权访问,则显示/隐藏按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47187128/