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間の変わった相互作用のためですか?
私もJS-フィドルでそれをテストし、それが働いていたことがわかったが、奇妙なことに、それは私自身のプログラムで作業をdoesntのしました。コントローラーと何か関係がありますか?私のコードとあなたとの唯一の違いは、コントローラがどのように宣言されているかです。 – Ethernetz
コンソールにエラーがあるかどうかを確認します。 – Sajeetharan
エラーが表示されます。リソースの読み込みに失敗しました:サーバがステータス500(内部サーバエラー)で応答しました – Ethernetz