私は項目のリストを持っており、リスト内の各項目のオプションとして有効/無効のメソッドを持っています。ng-repeatで選択した項目のAngledJsトグル機能
現在の実装では、リスト内のすべての項目を切り替え、そしてすべてのクラスのアイコンを変更します。
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>
コントローラ
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';
};
私はベルをクリックすると、それはすべてのクラスを変更し、グローバル変数を切り替えます。
あなたのコントローラに 'toggleMethod()'の定義はありませんか?それは 'toggleAlarmMethod()'ですか? – dreamweiver
さらに、オープンは何をしていますか?コントローラーでも定義されていません。 –