如果我无法访问,则显示/隐藏按钮

时间:2017-11-08 18:30:02

标签: javascript angularjs

我有一个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。

提前完成。

2 个答案:

答案 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)
} 
相关问题