次のコードは、7 つのサムネイルのリストを作成し、アクティブな画像にはクラスactive
(およびthumb
) が必要です。
<div ng-repeat="no in [1, 2, 3, 4, 5, 6, 7]">
<img ng-src="images/{{no}}t.jpg"
class="thumb" ng-class="{'active': imgNumber == no}" ng-click="change(no)"/>
</div>
画像は正しく表示されますがactive
、現在選択されている画像にクラスが適用されず、クリックしても画像が変更されません。
それがコントローラーです:
function Gallery($scope) {
$scope.imgNumber = "1";
$scope.change = function(imgNumber) {
$scope.imgNumber = imgNumber;
}
}
ループを展開no
して現在の画像番号に置き換えると、すべてが期待どおりに機能します。
ng-class
andの式が機能しないのはなぜng-click
ですか?