2017-07-30 52 views
-1

我正在使用ng2-select在我的angular2/4應用程序中。項目數據應該是具有id和text屬性的對象數組。但是當我推id和text推送ID,打字稿字符串數組中的文本

this.tagsItems.push({text: this.tags[i].name, id: this.tags[i]._id}); 

誤差將是:類型{文本的」

參數:任何; id:any; }」是不能分配給類型的參數‘弦’

我的數組:

public tagsItems: Array<string> = []; 
當我改變陣列鍵入任何錯誤將消失,但NG2選不工作了

回答

1

這是因爲您沒有爲您的數組添加字符串,因爲您聲明瞭id。

你可以聲明

Interface Text { 
    text: String, 
    id: Number|String // whatever this field should be 
} 

,然後宣佈,因爲這tagsItems接口:

public tagsItems: Array<Text> = []; 
+0

總是要聲明一個接口? –

+0

如果你不想讓打字稿抱怨這件事,是的。如果你真的不能在你的應用中的其他地方使用該接口,你可以將其保留 –