我有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的答案隐藏和显示按钮。
答案 0 :(得分:1)
您可以将$scope.user.friendship
设置为正确的值,以显示和隐藏相关按钮:
这将显示unfriend
按钮:
$scope.user.friendship = true;
这将显示Friend request sent
按钮:
$scope.user.friendship = false;