无法在angular6中设置数组属性



我需要用以下代码在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
}
}

这是一个样品堆栈闪电供您参考。

最新更新