AngularJs:如果$ http响应成功,则显示块

时间:2015-05-21 08:25:17

标签: angularjs

我有3个基于布尔值显示的块。

<button ng-if="user.friendship == null" ng-click="requestFriendship(user.user.id)" class="button button-outline button-calm">
    Invite as friend
</button>
<button ng-if="user.friendship == false" ng-click="removeFriendship(user.user.id)" class="button button-calm">
    Friend request sent
</button>
<button ng-if="user.friendship == true" ng-click="removeFriendship(user.user.id)" class="button button-calm">
    Unfriend
</button>

嗯,起初我不知道这是否是最好的解决方案,所以如果我错了,请不要犹豫在这里纠正我。

然后我有我的功能:

$scope.requestFriendship = function(id) {

    $http.post(domain+'/api/friendship/request/'+id+'?access_token='+access_token.key).then(function(response){
        // If success change button
    }, function(error) {
        console.log(error);
    });

}

$scope.requestFriendship = function(id) {

    // function

}

因此基于结果(我的api返回成功或失败,所以如果成功),我需要隐藏上一个按钮并将其更改为新状态。

那么我如何根据API的答案隐藏和显示按钮。

1 个答案:

答案 0 :(得分:1)

您可以将$scope.user.friendship设置为正确的值,以显示和隐藏相关按钮:

这将显示unfriend按钮:

$scope.user.friendship = true;

这将显示Friend request sent按钮:

$scope.user.friendship = false;