use*_*542 5 typescript angular
我有一个接口定义为:
export interface Address {
addressType: {
house?: {
streetAddress: string,
city: string,
zip: string,
},
apartment?: {
streetAddress: "",
unitNumber: "",
city: "",
zip: "",
buildingName?: "",
},
}
instructions?: string;
}
Run Code Online (Sandbox Code Playgroud)
然后在我的组件的Typescript文件中,我定义了一个房屋地址:
address: Address;
constructor() {
this.address.addressType = {
house: {
streetAddress: "1 test",
city: "test city",
zip: "92222",
}
}
console.log(this.address);
}
Run Code Online (Sandbox Code Playgroud)
虽然当我将地址记录到控制台时,我得到:
Uncaught (in promise): TypeError: Cannot set property 'addressType' of undefined
Run Code Online (Sandbox Code Playgroud)
我以为我在构造函数中设置了addressType.有没有更有效的方法来做我正在做的事情?
您需要this.address先初始化,然后才能设置其地址类型:
constructor() {
this.address = {
addressType: {
house: {
streetAddress: "1 test",
city: "test city",
zip: "92222",
}
}
};
console.log(this.address);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
545 次 |
| 最近记录: |