从服务器获取数据之前,“无法读取未定义的属性‘名称’”
2018-11-08
185
我的
html
<input name="name" [(ngModel)]="address.name" matInput >
和我的
ts
如下
public address: Address;
...
ngOnInit() {
this.service.getAddress(1).subscribe(address => {
this.address = address;
});
}
我的界面看起来像
export interface Address {
...
name: string;
}
当我尝试填充输入时,我收到错误:
TypeError: Cannot read property 'name' of undefined
我知道发生这种情况是因为
address
对象在 subscribe 方法中填充之前为空。我该如何摆脱这个错误?
2个回答
如果您想考虑这一点,请尝试使用
any
作为可选类型,然后将
{}code> 分配给
address
:
public address: (Address | any) = {};
SiddAjmera
2018-11-08
按如下方式初始化为空对象,
public address = new Address();
或者在模板中使用 *ngIf(脏),
<input name="name" *ngIf="address" [(ngModel)]="address.name" matInput >
并且是
export class Address {...>
Sajeetharan
2018-11-08