gpt4 book ai didi

Angular2 获取对在 ngFor 中创建的元素的引用

转载 作者:太空狗 更新时间:2023-10-29 16:53:38 29 4
gpt4 key购买 nike

我将如何引用在 ngFor 循环中创建的 dom 中的元素。

例如我有一个要迭代的元素列表:

var cookies: Cookie[] = [...];

<div *ngFor="#cookie of cookies" id="cookie-tab-button-{{cookie.id}}" (click)="showcookie(cookie);">Cookie tab</div>


<div *ngFor="#cookie of cookies" id="cookie-tab-content-{{cookie.id}}" ">Cookie Details</div>

我将如何引用这些 div,以便我可以添加一个 css 类,如“is-active”。或者我的方法是错误的。

最佳答案

如果你想添加/删除一个类使用绑定(bind)

<div *ngFor="let cookie of cookies" [class.isActive]="someExpression" ....>

<div *ngFor="let cookie of cookies" [ngStyle]="{'isActive': someExpression}" ....>

具体例子:

activeCookie:string = 'b';
cookies:string[] = ['a', 'b', 'c'];
<div *ngFor="letcookie of cookies" [class.isActive]="cookie == activeCookie" ....>

如果你真的想得到一个引用,你可以使用

<div #someName *ngFor="let cookie of cookies" id="cookie-tab-button-{{cookie.id}}" (click)="showcookie(cookie);">Cookie tab</div>

@ViewChildren('someName') someDivs;

ngAfterViewInit() { // or some event handler
someDivs.toArray()[0].nativeElement.classList.add('isActive');
}

关于Angular2 获取对在 ngFor 中创建的元素的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36147809/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com