繁体   English   中英

如何根据用户授权显示/隐藏有角度的按钮?

[英]How i show/hide a button in angular according to user authorization?

我已经尝试过这样的事情

 <button ng-if="!isAuthenticated()" ng-click="deleteReview()">Delete</button>

在我的javascript中

  $scope.isAuthenticated = function() {
                $http.get("api/user/getAuthenticatedUser")
                    .success(function(user) {
                        if (user != null) {
                            return true;
                        }
                        return false;
                    });
            }

但是它在$ rootscope上返回了一些错误

更好地使用angular提供的$ http服务。 将身份验证变量设置为false,从后端调用身份验证服务并更改身份验证变量的值。 从Angular绑定会将值传输到视图,您将能够在视图中使用该值。

   $scope.isAuthenticated = false; // init as false

// make the method that checks autentication
$scope.checkAuth = function() {
    $http({
      method: 'GET',
      url: 'api/user/getAuthenticatedUser'
    }).then(function successCallback(user) {
        if (user != null) {
            $scope.isAuthenticated = true;
        } else {
            $scope.isAuthenticated = false;
        }

      }, function errorCallback(response) {
        // called asynchronously if an error occurs
        // or server returns response with an error status.
      });

}


// call the autentication method
$scope.checkAuth();

HTML:

<button ng-if="!isAuthenticated" ng-click="deleteReview()">Delete</button>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM