无法使用Angular.js进入else部分

时间:2016-07-08 11:05:51

标签: javascript arrays angularjs

我在使用Angular.js验证某些内容时遇到了问题。我有一个数组,其中包含一些值,如果该数组值不是null,我需要检查它们然后它应该进入else部分,但它不会发生这种情况。我正在解释下面的代码。

$scope.mulImage=[
    {
        image:'a.jpg',
        id:1
    },
    {
        image:'b.jpg',
        id:2
    }]; 

我正在使用if..else条件检查上述数组,如下所示。

if($scope.mulImage.length >0){
     for(var i=0;i<$scope.mulImage.length;i++){
        if($scope.mulImage[i]['image']==null){
            alert('Please select iamge'+(i+1));
            return;
        }
     }
}else{
    console.log('multiple image',$scope.mulImage);
}

在上面的条件中,如果数组在每次迭代时都有一些值,那么else部分应该执行,但它不会发生这种情况。我需要在循环image的每次迭代中都有一些值,那么else部分应该执行。请帮助我。

2 个答案:

答案 0 :(得分:0)

使用应该像这样编写你的函数。

var flag=true;
if($scope.mulImage.length >0){

 for(var i=0;i<$scope.mulImage.length;i++){
    if($scope.mulImage[i]['image']==null){
        alert('Please select iamge'+(i+1));
        flag=false;
        return;
         }
      }
 }
 if(flag==true){
  console.log('multiple image',$scope.mulImage);
 }

答案 1 :(得分:0)

我建议使用<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-filter/0.5.8/angular-filter.js"></script> <div ng-app="myApp"> <div ng-controller="myCtrl"> <input type="text" ng-model="search"> <hr> <div ng-hide="filteredPlayers.length"> This list is empty. (this is working). </div> <ul> <li ng-repeat="player in filteredPlayers = (players | filter:search)"> player: {{ player.name }} </li> </ul> <hr> <div> The list is empty. (this is not working - always displayed). </div> <ul ng-repeat="(key, value) in players | filter:search | groupBy: 'team'"> Group name: {{ key }} <li ng-repeat="player in value"> player: {{ player.name }} </li> </ul> </div> </div>Array.prototype.anyArray.prototype.find

Array.prototype.findIndex