我需要用以下代码在angular 6中设置数组属性:
this.addupdate.roleids=this.selectedRole;
但它显示了一个错误:
错误类型错误:无法设置未定义的属性"roleids"在AccessLevelComponent.prush../src/app/admin/admin/ddashboard/role/access-level/access-llevel.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);
}
);
}
怎么了?我该怎么解决?
roleids
将在this.addupdate
上访问,但显然this.addupdate
未定义。也许它还没有初始化。
尝试将this.addupdate
初始化为ngOnInit
中的一个基本对象,如下所示:
addupdate: IAddorupdateRole;
ngOnInit() {
this.addupdate = {
roleids = [],
roleid = 0
}
}
这是一个样品堆栈闪电供您参考。