2017-05-21 91 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