2017-04-10 9 views
0

基本的に私は4つの条件が満たされたときにすべての投稿を呼び出したいと思います。http GETは、anglejsの真偽条件に基づいてリクエストします

当初、

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

ユーザーは例えばのために真の

にこれらのターンこれらのオプションを選択します。ユーザーは、私は、HTTPを作りたい、この条件に基づいてaその後、a=true

を選択した場合.getリクエスト。私はcondtions毎回1に基づいてGETリクエストを行う必要がありますまたは複数の変数がtrueになるこの

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

GET /posts?a=true } 

よう 何か。

申し訳ありませんが悪い説明。

+0

チェックボックス/ラジオボタンまたは通常ボタンとは何ですか? – Srigar

答えて

0

基本的に、4つの変数すべてを調べるウォッチ式が必要です。その組み合わせ式が1(真実)の場合、あなたのajaxコールをしたい場合は、

$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

この解決策は最初の答えとして同様に働きます。しかし、上記のようにチェックボックスを使用すれば十分でしょう。これは、何かがプロパティを変更した場合、ajaxコールを行うという意味でもう少し堅牢です。あなただけが必要なものを知っているだけです。:) –

+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、|| &&ではなく、ここでの条件。 1つ以上が要件 –

+0

でした@ChrisNoringの質問は、 "すべての条件が満たされたときに"と言いました。したがって、処理するためにはすべてが真でなければなりません。 –

+0

私はちょうどそれを読んで私の答えを編集してコメントしてくれてありがとう。 –

関連する問題