我需要使用以下代码在angular 6中设置数组属性:
this.addupdate.roleids=this.selectedRole;
但是它显示了这个错误:
错误TypeError:无法设置未定义的属性“ roleids” 在AccessLevelComponent.push ../ src / app / admin / admin / dashboard / role / access-level / access-level.component.ts.AccessLevelComponent.AddRoleClaim(access-level.component.ts:60)
selectedRole:string[]=['1011','1010','1005'];
和我的界面:
export interface IAddorupdateRole {
roleids:string[];
roleid:number;
}
这是我的代码:
public AddRoleClaim(){
console.log("enter AddRoleClaim.Ts");
this.addupdate.roleids=this.selectedRole;
this.addupdate.roleid=this.roleId;
this.roleService.AddOrUpdateRoleCalim(this.addupdate).subscribe((data)=>
{
console.log("seccess" + data);
}
);
}
出什么问题了?我该怎么解决?
答案 0 :(得分:2)
roleids
将在this.addupdate
上访问,但是显然this.addupdate
是未定义的。也许还没有初始化。
尝试将this.addupdate
初始化为ngOnInit
中的基本对象,如下所示:
addupdate: IAddorupdateRole;
ngOnInit() {
this.addupdate = {
roleids = [],
roleid = 0
}
}
这是您推荐的Sample StackBlitz。