我有这个类,我实例化SelectedNames数组。我已经尝试在构造函数方法签名和构造函数方法体中实例化它。
userstate.model.ts
export class UserState{
constructor(
public StartsWithFilters: string[],
public EndsWithFilters: string[],
public ContainsFilters: string[],
public EqualsFilters: string[],
public SelectedNames: string[],
public CurrentName : string
){
this.SelectedNames = [];
}
}
在这个实例化UserState的类中。
home.component.ts
export class HomeComponent implements OnInit {
userState : UserState = {};
constructor(
private nameService : NameService,
public auth : AuthService) {
}
getNextName(){
this.nameService.getNextName()
.subscribe(
name => this.userState.CurrentName = name.NameText,
error => alert("getNextName: error")
);
}
selectName(){
this.userState.SelectedNames.push(this.userState.CurrentName);
}
ngOnInit() {
}
btnNextClickedEvent(): void {
this.getNextName();
}
btnSelectClickedEvent(): void {
this.selectName();
}
}
NameService,身份验证服务,home.component.html显示{{userState.CurrentName}},getNextName()工作正常。
Error in selectName(): Cannot read property 'push' of undefined.
好像SelectedNames未定义。
是什么给出了?
干杯
答案 0 :(得分:1)
好的,我明白了。
我需要像这样实例化UserState:
userState : UserState = new UserState();
为了正确构建它。