2017-06-10 2 views
2

解決策:ng-ifをサポートしていない角度のバージョンを使用していました。ng-inside ng-repeatが動作しない場合

ここに私のコードの簡略版があります。

まず、私の部分:

<div> 
    <div ng-repeat="poll in polls"> 
     <div ng-if="poll.moduleState === 'not-voted'"> 
      <!-- Template 1 --> 
      Not Voted: {{poll.name}} 
     </div> 
     <div ng-if="poll.moduleState === 'voted'"> 
      <!-- Template 2 --> 
      Voted: {{poll.name}} 
     </div> 
    </div> 
</div> 

そして、私のコントローラ:

function ViewPollsCtrl($q, $scope, $http) { 

    $scope.polls = 
      [ 
       { 
        "name": "module1", 
        "moduleState": "not-voted" 
       }, 
       { 
        "name": "module2", 
        "moduleState": "voted" 
       } 
      ]; 
} 

私は出力が

Not Voted: module1 
Voted: module2 

ことを期待しかし、その代わりに出力が

Not Voted: module1 
Voted: module1 
Not Voted: module2 
Voted: module2 
です

なぜですか?私は間違って何をしていますか?それはng-repeatの中でng-if間の変わった相互作用のためですか?

編集:ここで私はそれはあなたのコードで正常に動作

答えて

2

を見ています何の画像です。

DEMO

angular.module('myApp',[]).controller('myCtrl', function($scope){ 
 
    
 
    $scope.polls = 
 
      [ 
 
       { 
 
        "name": "module1", 
 
        "moduleState": "not-voted" 
 
       }, 
 
       { 
 
        "name": "module2", 
 
        "moduleState": "voted" 
 
       } 
 
      ]; 
 
      
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="myCtrl"> 
 
<div> 
 
    <div ng-repeat="poll in polls"> 
 
     <div ng-if="poll.moduleState === 'not-voted'"> 
 
      <!-- Template 1 --> 
 
      Not Voted: {{poll.name}} 
 
     </div> 
 
     <div ng-if="poll.moduleState === 'voted'"> 
 
      <!-- Template 2 --> 
 
      Voted: {{poll.name}} 
 
     </div> 
 
    </div> 
 
</div> 
 
</div>

+0

私もJS-フィドルでそれをテストし、それが働いていたことがわかったが、奇妙なことに、それは私自身のプログラムで作業をdoesntのしました。コントローラーと何か関係がありますか?私のコードとあなたとの唯一の違いは、コントローラがどのように宣言されているかです。 – Ethernetz

+0

コンソールにエラーがあるかどうかを確認します。 – Sajeetharan

+0

エラーが表示されます。リソースの読み込みに失敗しました:サーバがステータス500(内部サーバエラー)で応答しました – Ethernetz

関連する問題