gpt4 book ai didi

html - Angular 键值管道 : argument type is not assignable to parameter type

转载 作者:行者123 更新时间:2023-12-04 11:33:46 26 4
gpt4 key购买 nike

我想迭代一个 map 并在我的 html 文件中显示键和值,为此我使用了 Angular 的 *ngfor 和键值管道。
但是,ngFor 迭代存在错误:

Argument type Map<string, BarcodeInfoModel> is not assignable to parameter type {[p: string]: (() => IterableIterator) | ((key: string, value: BarcodeInfoModel) => this) | ((key: string) => boolean) | string | ((key: string) => (BarcodeInfoModel | undefined)) | (() => IterableIterator<[string, BarcodeInfoModel]>) | number | (() => IterableIterator) | (() => void) | ((callbackfn: (value: BarcodeInfoModel, key: string, map: Map<string, BarcodeInfoModel>) => void, thisArg?: any) => void)} | Map<string, (() => IterableIterator) | ((key: string, value: BarcodeInfoModel) => this) | ((key: string) => boolean) | string | ((key: string) => (BarcodeInfoModel | undefined)) | (() => IterableIterator<[string, BarcodeInfoModel]>) | number | (() => IterableIterator) | (() => void) | ((callbackfn: (value: BarcodeInfoModel, key: string, map: Map<string, BarcodeInfoModel>) => void, thisArg?: any) => void)>


这里 Map 是用 private files: Map<string, BarcodeInfoModel> = new Map<string, BarcodeInfoModel>(); 声明和初始化的。哪里 BarcodeInfoModel是自定义类型,具有如下变量:

export class BarcodeInfoModel {
_codeType: string;
_receivingID: string;
_cache: Array<string>;
_dcr: string;
_packageType: string;
_condition: string;

constructor() {}

...

}

而在我的 html我使用这样的迭代:

<mat-accordion>
<mat-expansion-panel *ngFor="let file of files | keyvalue">
<mat-expansion-panel-header>
<mat-panel-title>
{{file.key}}
</mat-panel-title>
</mat-expansion-panel-header>
<p>{{file.value}}</p>
</mat-expansion-panel>
</mat-accordion>

这就是错误发生的地方。如果我在浏览器中运行此代码段, files.value生产 [object Object] , 不表示它是 BarcodeInfoModel类型。此外,在 html ,我无法通过执行类似 {{file.value._codeType}} 的操作来获取 BarcodeInfoModel 的属性。 .

最佳答案

在 map 中声明的对象类型与您传递给 map 的对象类型不符。
例如 :

map = new Map<number, string>([[2, 'Burger'], [1, 'Tomato']]);

You won't have error


如果你这样写:
map = new Map([[2, 'Burger'], [1, 'Tomato']]);

you will have the error that number, string is not assignable


typescript 。
祝你好运

关于html - Angular 键值管道 : argument type is not assignable to parameter type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62585322/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com