我将onclick上的一个类应用于我的自定义元素,我想保持它的应用。就像有一堆<event>
元素一样,当我点击其他元素时,前一个元素丢失了selected
类。那是我无法让它一次将selected
类应用于多个类。
这是我的观看代码:
<event class="event" ng-repeat="event in events" event="{{ event }}"
ng-class="{'selected' : $index == selected}"
ng-click="selectEvent($index, event)">
{{ event }}
</event>
这是我的控制器
myApp.controller('MyCtrl', function ($scope, $http) {
$scope.selectEvent = function($index, event) {
$scope.selected = $index;
console.log(event);
}
});
此外,我还希望在再次点击特定<event>
时删除该课程。
答案 0 :(得分:1)
您只有一条数据($scope.selected
)跟踪选择。每次单击新元素时,都会覆盖先前的选择。
如果您希望每个事件都具有单独的选定/未选择状态,则必须创建允许该事件的数据结构。
在this小提琴中,我将事件定义为:
$scope.events = [
{name: 'event1', selected: false},
{name: 'event2', selected: false},
{name: 'event3', selected: false}
];
我认为它可以按照您的意图运作。