数组中的泛型类型?



我试图创建一个模型应用程序,将一些数据显示为按钮列表。我实现了所有内容,但我现在正面临这个问题。我为数据初始化了一个数组和另一个类。

-items.ts
export class ItemPage {
items: Item[] = [];
constructor() {
this.items.push(
new Item(1, 'Apple', 'Green', 6, true));
this.items.push(
new Item(2, 'Banana', 'Yellow', 15, false));
}

数据类如下所示

-item.ts
export class Item {
constructor(
id: number,
fruit: string,
color: string,
quantity: number,
onStock: boolean,
) { }
}

当我运行ionic serve时,我遇到了items: Item[] = [];问题。它说Generic type 'Item' requires 2 type argument(s)type Item<K extends string, T> = { [P in K]: T; } Construct a type with a set of properties K of type T.
我试图解决它,但它没有帮助,有人知道如何解决这个问题吗?

谢谢

我没有完全设法重现该问题,而是最终得到了两个空对象。该错误似乎是您没有将类中的属性设置为public,因此将类更改为:

export class Item {
constructor(
public id: number,
public fruit: string,
public color: string,
public quantity: number,
public onStock: boolean,
) { }
}

似乎工作正常:普伦克

但是我强烈建议你应该改用接口,如果你不需要在类中有函数或其他原因。所以我会说你做界面:

export interface Item {
id: number;
fruit: string;
color: string;
quantity: number;
onStock: boolean;
}
constructor(private navController: NavController) {
this.items.push({id:1, fruit:'Apple', color:'Green', quantity:6, onStock:true});
this.items.push({id:2, fruit: 'Banana',color:'Yellow',quantity:15,onStock:false})
}

希望这有帮助!

相关内容

  • 没有找到相关文章

最新更新