1

angularでコントローラーを開発しています。何らかの理由で、私に問題を与えている If ステートメントがあります。はい、if ステートメントです。

コードは次のとおりです。

$scope.new = function(logoFile) {
if($scope.comprobarCampoDesc() && $scope.comprobarCampoFecha() && $scope.comprobarCampoName() ) 
{ 
//program logic
}

また、他のコードもあります。

$scope.comprobarCampoName = function(e) {
//program logic
return bol;
};


$scope.comprobarCampoDesc = function(e) {
//program logic
return bol;
};


$scope.comprobarCampoFecha = function(e) {
//program logic
return bol;
};

わかりました、私が特定できない何らかの理由で、ifステートメントは順序に応じて3つのメソッドのうち2つだけをチェックします。この具体的なケースでは、「$scope.comprobarCampoName」を無視していますが、順序を変更すると、他の方法は機能しません。

助けてくれてありがとう。ご挨拶。

4

1 に答える 1

2

あなたの場合、条件の1つが に等しい場合falseifステートメントは停止し、それ以上繰り返されません。

これらのそれぞれを本当に実行する必要がある場合は、次のことをお勧めします。

var first = $scope.comprobarCampoDesc();
var second = $scope.comprobarCampoName();
var third = $scope.comprobarCampoFecha();

if (first && second && third){
   // execute
}
于 2015-11-17T12:16:45.927 に答える