Angular 以角度动态显示值
在我的模板中,仅当Angular 以角度动态显示值,angular,typescript,Angular,Typescript,在我的模板中,仅当item.name===“michael”不正确时,我才需要显示文本“Passed”。我的组件包含来自其父组件的数据courses[]。我有两个接口课程和教师,其中每个课程id都有自己的教师数据 这是我的密码: @Input() courses[]; isRequired = false; ngonInit() { for (const entry of courses ) { this.onCheckData(entry); }
item.name===“michael”
不正确时,我才需要显示文本“Passed”。我的组件包含来自其父组件的数据courses[]
。我有两个接口课程和教师,其中每个课程id都有自己的教师数据
这是我的密码:
@Input() courses[];
isRequired = false;
ngonInit() {
for (const entry of courses ) {
this.onCheckData(entry);
}
}
onCheckData(singleList: Courses) {
this.someService.someObservable(singleList.id).subscribe( item => {
if (item.name === 'michael') {
this.isRequired = true;
}
});
}
declare interface courses {
id: number;
name: string;
price: number;
}
declare interface Teachers {
name : string;
address: string;
}
使用变量isRequired
设置真/假似乎不起作用。someObservable()正在使用http返回一个可观察的
<tbody>
<tr *ngFor="let listing of courses">
<td>
{{listing.name}}
</td>
<td>
<span *ngIf="!isRequired"> Passed </span> // not working here
</td>
</tbody>
{{listing.name}
通过//不在这里工作
您的所需的也应该是可观察的
试着这样做:
public isRequired$ = new ReplaySubject<boolean>(1);
而不是一个可观察的市场的美元惯例
<span *ngIf="!isRequired$"> Passed </span>
已通过
如果其中一项具有名称,则将为所有组件设置isRequired
如果名称在列表中,您可以尝试listing.name==='michael'
<tbody>
<tr *ngFor="let listing of courses">
<td>
{{listing.name}}
</td>
<td>
<span *ngIf="listing.name === 'michael'"> Passed </span> // not working here
</td>
</tbody>
{{listing.name}
通过//不在这里工作
<tbody>
<tr *ngFor="let listing of courses">
<td>
{{listing.name}}
</td>
<td>
<span *ngIf="listing.name === 'michael'"> Passed </span> // not working here
</td>
</tbody>