Mam następujące elementy listy w poniższym fragmencie kodu. Po kliknięciu myszki chciałbym wybrać ten element (dodać "aktywną" klasę i odznaczyć, czy jakieś inne elementy (rodzeństwo) zostały wybrane przez remove'active klasy. Osiągnąłem to samo używając jQuery (pełny kod poniżej). funkcjonalność w Kątowymi 2 sposóbAngular 2 - Wybierz element listy klikniętej (Dodaj "aktywną" klasę i usuń z rodzeństwa)
fragment kodu.
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<ul id="grouplist" class="list-group">
<li class="list-group-item">Item1</li>
<li class="list-group-item">Item2</li>
<li class="list-group-item">Item3</li>
<li class="list-group-item">Item4</li>
<li class="list-group-item">Item5</li>
<li class="list-group-item">Item6</li>
<li class="list-group-item">Item7</li>
<li class="list-group-item">Item8</li>
<li class="list-group-item">Item9</li>
<li class="list-group-item">Item10</li>
</ul>
<script>
$(function() {
$('.list-group li').click(function() {
$(this).addClass('active').siblings().removeClass('active');
});
})
</script>
</body>
</html>
JSFiddle here
kątowa 2 Eksperyment:. Jestem w stanie ustawić klasę poprzez 'setElementClass' Jak usunąć 'aktywny' klasa z rodzeństwem Czy istnieją inne podejścia?
Lista widok składnik (test1.component.html):
<h2>Select List Item</h2>
<ul id="grouplist" class="list-group">
<li class="list-group-item" (click)="listClick($event)" *ngFor="let item of groups">
{{ item.name }}
</li>
</ul>
Code maszynopis (test1.component.ts):
import { Component } from '@angular/core';
import { Renderer } from '@angular/core';
import { Group } from './group';
@Component({
selector: 'test1',
template: require('./test1.component.html')
})
export class Test1Component {
groups: Group[];
constructor(private render: Renderer) {
this.groups = [new Group("item1"), new Group("item2"), new Group("item3"), new Group("item4"), new Group("item5")];
}
public listClick(event: any) {
event.preventDefault();
this.render.setElementClass(event.target, "active", true);
// How to remove 'active' from siblings ?
}
}
group.ts
export class Group {
constructor(public name: String) {
}
}
kątowa 2 lub kątowy 1? Dobrze byłoby zobaczyć, co zrobiłeś do tej pory, abyśmy mogli poprawić/poprawić to. Wygląda na to, że właśnie pytamy nas o pełną odpowiedź. – Searching
Angular 2 - Zaktualizowano moje pytanie za pomocą mojego kodu Angular 2. –