@rinatoptimus

Как реализовать двустороннюю связку в Angular?

Есть небольшой пример с двумя массивами: https://plnkr.co/edit/GN8YNJqBkTRhnGFKkDfs?p=preview
Можно ли такое реализовать через @Input следующим образом: все то же самое, но оба массива передаются в дочерний компонент?
Я попытался, вывел массив в дочернем компоненте, но все элементы красные. Клик не отрабатывается.
дочерний компонент:
public handleEvent(isSelected:any){
	this.user = isSelected;
}
public isSelected(user) {
        console.log(this.selected);
        return this.selected.indexOf(user) !== -1;
}
@Output() event: EventEmitter<any>=new EventEmitter();
    clickOnUser(user) {
        if (this.selected.indexOf(this.user) !== -1) {
            this.selected.splice(this.selected.indexOf(this.user), 1);
        } else {
            this.selected.push(user);
        }
    }

Разметка:
<code lang="html">
p([ngClass]="{ 'selected': 'isSelected(user)' }" (event)="clickOnUser()") {{user.Name}}
</code>
  • Вопрос задан
  • 87 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы