1
我的模板中包含的动态列表访问元素:在NgFor循环
<ol>
<li #nameitem *ngFor="let name of names; let i = index" class="classA"
(click)="handleClick(i)">{{ name }}</li>
</ol>
我想更改项目的CSS类,当用户点击它。我试过使用MouseEvent
的属性,如target
和currentTarget
,但EventTarget
不提供对类列表的访问。所以我试图获得列表元素作为查看儿童:
@ViewChildren("nameitem") private nameItems: QueryList<ElementRef>;
这也不起作用。在事件处理程序,本土元素是不确定的:
private handleClick(i: number) {
console.log(this.nameItems[i].nativeElement.classList.length);
}
我得到的错误是:Cannot read property "nativeElement" of undefined
。有什么想法吗?
由于
如果您在handleClick中传递'$ event',那么您可以从$ event中获取目标并更新该类。 – Siraj
当我第一次尝试时,由于某种原因失败。但我只是再次尝试,它的工作。离奇。谢谢。 – user934904