0
我有以下打字稿接口聲明嵌套的數據類型:打字稿如何從接口
interface IFoodShop {
name: string;
owner: string;
foods: Array<{
id: number,
name: string,
isVegetarian: boolean
}>
}
我有需要paramater是相同的數據類型,從接口IFoodShop食物陣列的功能。我將如何聲明它,類似於這個,這不起作用。
// check if food is vegetarian
isVegatarianFood(data: IFoodShop.foods) {
}
我明白我可以打破的數據類型,如下面:
interface IFoodShopFood {
id: number,
name: string,
isVegetarian: boolean
}
interface IFoodShop {
name: string;
owner: string;
openDate: Date;
foods: IFoodShopFood
}
// check if food is vegetarian
isVegatarianFood(data: IFoodShopFood) {
}
但這對我來說似乎是不必要的,當我有很多陣列申報。我怎麼會簡單地說數據類型需要匹配嵌套的接口數據類型的食物?
我認爲在第二個例子應該是'食物:IFoodShopFood []',否則就不是一個數組了。你什麼意思是不必要的?如果你想在多個地方使用類型,你必須定義它。你也可以定義一個結構明智的新類型,但這會造成很大的開銷。 –