javascript - Reference an element later in angular -
i have 2 images have select 1 or other , class changes depending on select using ng-click. on proceeding next step, make object , store references selected:
$scope.cabinetdetails.cabinettype = { name: $scope.currentelement.obj.name, image: $scope.currentelement.obj.image, ref: $scope.currentelement }; $scope.currentelement whatever image had selected , think later access via: $scope.cabinetdetails.cabinettype.ref
let's on step 2 , want make change step one. click breadcrumb go , see step 1 again (this works fine). what i'd happen class changes selected state.
on loading step one, this:
if ($scope.cabinetdetails.cabinettype != null) { $scope.currentelement = $scope.cabinetdetails.cabinettype.ref; } i imagine preselect image had before since ng-repeat simple check in ng-class portion:
<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> the isactive() function rather simple:
$scope.isactive = function(element) { return $scope.currentelement === element; } i've been trying avoid posting question can't seem figure 1 out. it's reference invalid
the problem this keyword. this not available pass through template.
instead of referencing elements, take step , reference underlying item in repeater. try changing this obj (the object in ng-repeat="obj in currentobject")
ng-click="setactive(obj)" ng-class="{itemselected : isactive(obj)}
Comments
Post a Comment