【发布时间】:2017-06-16 17:20:38
【问题描述】:
我有如下 JSON 数组:
var json = [{
id: 1,
login: "Mieszko",
name: "Misztal",
surname: "Adminek",
phone: "0413414",
role: 2
},
{
id: 2,
login: "Rafal",
name: "Robak",
surname: "Kierowczek",
phone: "5145145",
role: 1
}
];
我还创建了如下的用户类:
export class User extends BaseModel {
id: number;
login: string;
name: string;
surname: string;
phone: string;
roles: Roles;
admin: boolean;
driver: boolean;
isDriver(): boolean {
return this.roles === 1;
}
//other methods
}
我的计划是将传入的 JSON 数组转换为用户数组。在 JSON 中,我将角色作为整数。我的班级中有管理员和驱动程序布尔字段。这在 ngModel 中需要用于复选框。
现在问题出在这一行之后
var users: Array<User> = JSON.parse(JSON.stringify(json));
我无法从 User 类调用方法,例如 users[0].isDriver(),因为编译器无法识别 isDriver() 方法。
有人知道怎么解决吗?
【问题讨论】:
-
那个数组怎么是 JSON 数组???它可以是一个数组,也可以是 JSON 格式的数据。对我来说,这看起来很像一个数组,不管你把保存它的变量叫做什么......
-
这不是重复的。编辑们再次急于获得新的 SO 徽章,而不是对问题进行属性确认。链接中作为唯一问题提出的问题没有答案。
标签: typescript