0

そのリストメンバーのIDが配列にあるかどうかに反応するリストクラスを作成しようとしています。コントローラーの関数でそれを処理できますが、配列が変更された場合、クラスは自動的に更新されません。

これが私の問題を表すプランカーです。すべてのIDを$scope.redIds赤くしたいです。 http://plnkr.co/edit/rl8WWgTRnksDkEddmhj9

以下のコード:

<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Example - example-ngController-production</title>


  <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.min.js"></script>
  <script src="app.js"></script>

  <style>
    .red {
      background-color: red;
    }
  </style>


</head>
<body ng-app="controllerExample">
  <div ng-controller="controller">
    <!-- 1 and 4 should be red -->
    <div ng-repeat="id in ids">

      <span ng-class="id in redIds ? 'red' : ''">ID: {{id}}</span>
    </div>
  </div>
</body>
</html>

app.js:

(function(angular) {
angular.module('controllerExample', [])
  .controller('controller', ['$scope', controller]);

function controller($scope) {
  $scope.ids = [1,2,3,4];
  $scope.redIds = [1,4];
}
})(window.angular);

ありがとうございました!

EDIT Plunker は、実用的なソリューションで更新されました: http://plnkr.co/edit/rl8WWgTRnksDkEddmhj9

4

1 に答える 1