当前行为:请参见下面的代码。
行为愿望:我只想使用ngfor元素在ngif中进行比较。
<div *ngFor="let item of userspeList" >
<div *ngFor="let rspe of rspeList" >
<div *ngIf="item?.uid === rspe?.uid; then adan">
<p>Je suis le plus grand</p>
</div>
<ng-template #adan>
{{item.uid}} and {{rspe.uid}}
</ng-template>
</div>
</div>
浏览器显示带有以下内容的ng模板:
PFbrvtxABEeXKhRMH2RaWnSkq0g1 and PFbrvtxABEeXKhRMH2RaWnSkq0g1.
答案 0 :(得分:3)
您只有一个ng-template,因此可以使用else
<div *ngIf="(item)?.uid === (rspe)?.uid ; else adan">
{{item.uid}} and {{rspe.uid}}
</div>
<ng-template #adan>
<p>Je suis le plus grand</p>
</ng-template>
请查看https://toddmotto.com/angular-ngif-else-then
您的代码还有一个问题,如果条件失败,它将不会显示
<p>Je suis le plus grand</p>
答案 1 :(得分:0)
将标识(===)运算符与X = make_dataclass('X', [('i', int), ('s', str)])
x = X(i=42, s='text')
asdict(x)
# {'i': 42, 's': 'text'}
一起使用
@dataclass
class X:
i: int
x = X(i=42)
x.__class__ = make_dataclass('Y', fields=[('s', str)], bases=(X,))
x.s = 'text'
asdict(x)
# {'i': 42, 's': 'text'}