2017-04-10 55 views
0

所以基本上我想調用四個條件滿足時的所有帖子。http GET請求基於true或false條件在angularjs

最初,

a=false, 
b=false, 
c=false, 
d=false 

當用戶選擇這些選項,這些反過來又爲true

對於例如:當用戶選擇a然後a=true

基於這種情況我想打一個http .get請求。 像這樣

`listAllPosts(a,b,c,d){ 

GET /posts?a=true } 

我需要基礎上,condtions每次一個或多個變量變成真正的GET請求。

對不起,說明不好。

+0

什麼是a,b,c,d和所有,複選框/單選按鈕或普通按鈕? – Srigar

回答

0

所以基本上你想看看所有四個變量的表達式。當這個組合表達式是1(truthy)你想要做你的阿賈克斯調用

$scope.a = false; 
    $scope.b = false; 
    $scope.c = false; 
    $scope.d = false; 
    $scope.$watch(function(){ 
    return $scope.a + $scope.b + $scope.c + $scope.d; 
    }, function(newVal, oldVal) { 
    if(newVal === 1) { 
     console.log('do ajax call here'); 
    } 
    }) 
+0

這個解決方案和第一個答案一樣。不過,使用上面指出的複選框可能就足夠了。這是一個更強大的意義上,如果任何東西改變屬性,然後做阿賈克斯調用..只有你知道你需要.. :) –

+0

謝謝你的回答。我面臨的實際問題是爲這種情況編寫正確的$ http.get請求。如果你可以幫助我的話,這將會非常有幫助。 – bumchickbum97

+0

當然,那麼你是否試圖正確構建請求url或者存在問題? –

1

我相信a,b,c和d與複選框相關聯。然後,你可以做到以下幾點:

HTML:

<div> 
    <input type="checkbox" ng-change="sendRequest()" ng-model="a" /> 
    <input type="checkbox" ng-change="sendRequest()" ng-model="b" /> 
    <input type="checkbox" ng-change="sendRequest()" ng-model="c" /> 
    <input type="checkbox" ng-change="sendRequest()" ng-model="d" /> 
</div> 

控制器:

$scope.a = false; 
$scope.b = false; 
$scope.c = false; 
$scope.d = false; 

$scope.sendRequest = function() { 
    if ($scope.a || $scope.b || $scope.c || $scope.d) { 
     // Get request here 
    } 
} 

讓我知道你的問題。

+0

認爲你應該有OR,||這裏的條件而不是&&。一個或多個是要求 –

+0

@ChrisNore問題說,「當所有條件滿足」,因此我認爲所有應該是真實的,以便處理。 –

+0

感謝評論我只是重新閱讀並編輯我的答案。 –