动态创建和分配对象 属性 打字稿
Create and assign a object property dynamically typescript
我有一个这样声明的接口,
export interface OurHistory {
ourHistory?: object;
step1?:object;
step2?:object;
}
在 class 里面,我有
export class HistoryComponent implements OnInit, OnDestroy {
myHistory:OurHistory;
let ourHistory = [];
ourHistory = this.allHistory.fields['ourHistory'];
this.myHistory.ourHistory = ourHistory[0];
}
我收到一条错误消息,无法设置未定义的 属性 'ourHistory'
发生这种情况是因为在倒数第二行:this.myHistory
是 undefined
。您正在尝试访问 undefined
的 属性 ourHistory
,编译器不喜欢它。
您需要实例化 属性,如您问题的评论中所述。
一种方法,可以这样做:
export class HistoryComponent implements OnInit, OnDestroy {
myHistory: OurHistory;
let ourHistory = [];
ourHistory = this.allHistory.fields['ourHistory'];
this.myHistory = {ourHistory: ourHistory[0]};
}
这样,我们用一个新对象实例化 属性 myHistory
:
{
ourHistory: someValue
}
我有一个这样声明的接口,
export interface OurHistory {
ourHistory?: object;
step1?:object;
step2?:object;
}
在 class 里面,我有
export class HistoryComponent implements OnInit, OnDestroy {
myHistory:OurHistory;
let ourHistory = [];
ourHistory = this.allHistory.fields['ourHistory'];
this.myHistory.ourHistory = ourHistory[0];
}
我收到一条错误消息,无法设置未定义的 属性 'ourHistory'
发生这种情况是因为在倒数第二行:this.myHistory
是 undefined
。您正在尝试访问 undefined
的 属性 ourHistory
,编译器不喜欢它。
您需要实例化 属性,如您问题的评论中所述。
一种方法,可以这样做:
export class HistoryComponent implements OnInit, OnDestroy {
myHistory: OurHistory;
let ourHistory = [];
ourHistory = this.allHistory.fields['ourHistory'];
this.myHistory = {ourHistory: ourHistory[0]};
}
这样,我们用一个新对象实例化 属性 myHistory
:
{
ourHistory: someValue
}