export class MyClass {
data: MyData;
constructor(private dataService: DataService) {
this.dataService.getData().subscribe((myData) => {
this.data = myData;
});
}
}
通过 Web 服务成功检索数据。 MyData 对象具有属性firstName,我想使用异步管道在模板内表示该属性。
我尝试过
<input required [ngModel]="data.firstName | async" (ngModelChange)="onChange($event)" name="firstName">
这种方法根本不将属性绑定到模板,[(ngModel)]="data.firstName"
有效,但我被告知这种方法不能与异步管道一起使用。
Update:
getData(): Observable<MyData>{
return Observable.from([this.fakeData()]
.map(res=>res as MyData));
}
要么使用
export class MyClass {
data: Promise;
constructor(private dataService: DataService) {
this.data = this.dataService.getData()
}
}
The | async
Pipe 已经是订阅者
with
<input required [ngModel]="(data | async)?.firstName" (ngModelChange)="onChange($event)" name="firstName">
或者用你的代码
<input required [ngModel]="data?.firstName" (ngModelChange)="onChange($event)" name="firstName">
我刚刚添加的地方?
以避免数据尚不可用时出现错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)