我收到了这个错误:
财产'模块'类型'菜单'。
上不存在Property' parentId'类型'菜单'。
上不存在
代码如下:
private menus: Menu[];
for (var i = 0; i < this.menus.length; i++) {
if ((this.currRoute == "/" + this.ls.actLan + this.menus[i].module) && this.menus[i].parentId !== 0) {
this.IsActive.emit(this.menus[i].parentId);
} else {
this.IsActive.emit(0);
}
}
但是我已导入该ts文件
import { Menu } from './menu';
我有这些属性
export class Menu {
constructor(
id: number,
type: number,
module: any,
urlType: string,
url: string,
name: string,
parentId: any
) { }
}
可能出错?
答案 0 :(得分:3)
你实际上在Menu
课程上没有任何属性。您可以从构造函数参数自动创建属性。见parameter properties:
export class Menu {
constructor(
public id: number,
public type: number,
public module: any,
public urlType: string,
public url: string,
public name: string,
public parentId: any
) { }
}
现在所有参数也都是Menu
的公共属性。
或者,如果您不想使用参数属性,可以像这样逐个定义它们:
export class Menu {
id: number;
// ...
constructor(id: number, type: number, module: any, url: string, name: string, parentId: any) {
this.id = id;
// ...
}
}
答案 1 :(得分:0)
像这样改变,
export class Menu {
id: number;
type: number;
module: any;
urlType: string;
url: string;
name: string;
parentId: any;
constructor(id: number, type: number, module: any, url: string, name: string, parentId: any) {
this.id = id;
this.module = module;
this.type = type;
this.url = url;
this.name = name;
this.parentId = parentId;
}
}