Ich habe eine Liste von Elementen, und ich habe aktivieren/deaktivieren Methode als Option für jedes Element in einer Liste.AngularJs Umschaltfunktion für das ausgewählte Element in ng-repeat
Ich möchte nur ein Element in einer Liste wechseln:
Die aktuelle Implementierung schaltet alle Elemente in einer Liste und Änderungen Klassensymbole für alle.
HTML
<div class="device" ng-repeat="item in items" ng-class="{'open': item.isOpen}">
<!-- Enable/Disable-->
<a href="#" class="m-r-20" ng-click="test.toggleMethod(item.Id)">
<span class="{{test.buttonClassIcon}}" title="{{test.title}}"></span>
</a>
</div>
-Controller
model.enabled = true;
model.toggleMethod = function (deviceId) {
if (model.enabled) {
locationService.start(deviceId).then(deviceList);
} else {
locationService.stop(deviceId).then(deviceList);
}
model.enabled = !model.enabled;
model.buttonClassIcon = model.enabled ? 'fa fa-bell' : 'fa fa-bell-slash';
model.title = model.enabled ? 'Enable' : 'Disable';
};
Wenn ich Glocke klicken, ändert es Klasse für alle, und globalen Variable schaltet.
Ich sehe keine Definition von 'toggleMethod()' in Ihrem Controller? ist es 'toggleAlarmMethod()'? – dreamweiver
Darüber hinaus was macht Open? nicht auch im Controller definiert. –