2017-05-21 46 views
1
上不存在属性名称

使用find的this question的建议答案在Typescript中不起作用,它无法编译。我已经看过其他类似的问题,但它们在某种程度上似乎有点不同(上下文)。Angular2&Typescript - 类型

这是数组:

categories: Category[] = []; 

这是分类对象:

,我试图找到这样的(值是一个字符串,如 '木'):

let a = this.categories.find(v => v.name === value); 

它说属性名称不存在'类别'类型。

+0

你能分享你设置类别值的代码吗? –

回答

4

这是因为你的班级Category没有任何属性。您可以定义parameter properties创建性能直接出构造参数:

export class Category{ 
    constructor(
    public id: string, 
    public name: string, 
    public category_types: Object[] 
) {} 
} 

现在的Category所有的参数也是它的公共属性。

+0

Omg谢谢,我忘了public关键字,呵呵! – rmcsharry