У меня есть рекурсивный компонент для создания динамически обновляемой древовидной структуры, которая может быть свернута.Однако, похоже, что переменная active
, которая определяет состояние, используется совместно с дочерними компонентами.Есть ли способ предотвратить это?
@Component({
selector: 'app-og-span',
templateUrl: './og-span.component.html',
styleUrls: ['./og-span.component.css']
})
export class OgSpanComponent {
@Input() comments;
private isActive = true;
toggleActive($event) {
console.log('wtf');
this.isActive = !this.isActive;
$event.stopPropagation();
return false;
}
}
И HTML-код:
<div class="ui accordion" style="padding-left: 15px" *ngFor="let comment of comments">
<div class="title" [ngClass]="{'active': isActive}" (click)="toggleActive($event);$event.stopPropagation()">
<i class="dropdown icon"></i>
{{comment.text}}
</div>
<div class="content" [ngClass]="{'active': isActive}">
<app-og-span [comments]="comment.comments" *ngIf="comment.comments"></app-og-span>
</div>
</div>
Я знаю, что событие вызывается только один раз из журналов.Был случай переменных областей с AngularJS (1.x), но я не могу найти соответствующий в 6 (2 +)