どちらかを選択する必要がある 2 つの画像があり、 を使用してどちらを選択するかによってクラスが変わりますng-click
。次のステップに進むにあたり、オブジェクトを作成し、選択したものへの参照を保存します。
$scope.cabinetDetails.cabinetType = {
name: $scope.currentElement.obj.name,
image: $scope.currentElement.obj.image,
ref: $scope.currentElement
};
$scope.currentElement
は私が選択した画像であり、後で次の方法でアクセスできると思います。$scope.cabinetDetails.cabinetType.ref
私はステップ 2 にいて、ステップ 1 に変更を加えたいとしましょう。ブレッドクラムをクリックして戻ると、ステップ 1 が再び表示されます (これは問題なく動作します)。私がしたいのは、クラスが選択された状態に変わることです。
ステップ1のロード時に、私はこれを行います:
if ($scope.cabinetDetails.cabinetType != null)
{
$scope.currentElement = $scope.cabinetDetails.cabinetType.ref;
}
私の部分ng-repeat
で簡単なチェックを行うため、これにより以前に持っていた画像が事前に選択されると思います。ng-class
<div ng-repeat="obj in currentObject">
<div class="img-select" ng-click="setActive(this)" ng-class="{itemSelected : isActive(this)}">
<div align="center">
<img ng-src="resources/images/aventos/{{obj.image}}" />
</div>
<div class="img-title">{{obj.name}}</div>
</div>
</div>
isActive()
関数もかなり単純です。
$scope.isActive = function(element)
{
return $scope.currentElement === element;
}
質問の投稿を避けようとしてきましたが、これを理解できないようです。私の参照が無効のようです