假设我在数组中有一些对象(让我们称该数组为“items”),例如{ title: "Title", value: true }
我使用 ngFor 来显示它们,如下所示:
<h1 *ngFor="let item of items">{{ item.title }}</h1>
现在假设我想根据 item.value 是 true 还是 false 在 h1 上显示一个类。
我怎样才能做到这一点?
我无法添加[class.some-class]="{{ item.value }}"
。基本上,我怎样才能将当前项目的 true 或 false 值放入 ngClass 之类的东西中?我是否错过了在 Angular 2 中执行此操作的明显方法?
(顺便说一句,我知道我可以通过添加class="{{ item.value | pipe }}"
到 h1 并通过管道传递值并根据值 true 和 false 返回正确的类,但似乎应该有更好的方法。)
Thanks
您可以添加一个条件类,如下所示:
<h1 *ngFor="let item of items"
[class.some-class]="item.value === true">
{{ item.title }}
</h1>
请记住,*ngFor
语法实际上扩展为template
。在您的示例中,它将扩展为:
<template ngFor let-item [ngForOf]="items">
<h1 [class.some-class]="item.value === true">
{{ item.title }}
</h1>
</template>
当您看到它展开时,您就会明白为什么您能够使用[class.xyz]
带有模板输入变量的指令item
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)