属性 'toggle' 在类型 'KeyValue<string, any>' 上不存在 'KeyValue<string, any>'.ngtsc(2339)
Property 'toggle' does not exist on type 'KeyValue<string, any>'.ngtsc(2339)
我正在使用 Angular 11.1.4 和 typscript 4.1.5。我在很多地方都遇到了这个错误...
我想根据不同的产品类型对我的对象进行分组。这是我的代码:
newPlatDenrees = [];
...
this.newPlatDenrees = this.plat.denrees.reduce((r, a) => {
r[a.typeProduit] = r[a.typeProduit] || [];
r[a.typeProduit].push(a);
return r;
}, Object.create(null));
然后我做一个这样的展示。问题是这种方式是有效的,但不可能发出 'ionic build --prod' 命令。
我不断收到此错误...
<ion-item-group *ngFor="let denree of newPlatDenrees | keyvalue; let i = index">
<ion-item-divider (click)="denree.toggle=!denree.toggle">
<ion-label>{{denree.key}}</ion-label>
<ion-icon slot="end" [name]="!denree.toggle ? 'chevron-down-outline' : 'chevron-forward-outline'">
</ion-icon>
</ion-item-divider>
<div *ngIf="!denree.toggle">
<ion-row *ngFor="let value of denree.value; let i = index ">
<ion-col class="ion-text-center">{{value.produit}}</ion-col>
<ion-col class="ion-text-center"> {{value.unite}}</ion-col>
<ion-col class="ion-text-center"> {{value.quantite}}</ion-col>
</ion-row>
</div>
</ion-item-group>
请帮帮我!
您可以在减少
时“添加”属性“切换”
this.newPlatDenrees = this.plat.denrees.reduce((r, a) => {
a.toggle=false //<--this line
r[a.typeProduit] = r[a.typeProduit] || [];
r[a.typeProduit].push(a);
return r;
}, Object.create(null));
之前 Angular 10,Angular 在我们“动态”添加属性时并不那么“小心”
如果您的 newPlatDenrees 是一种接口,您也可以将 属性 可选工具添加到接口
export interface IPlatDenre
{
...
toggle?:boolean;
}
newPlatDenress:IPlatDenre[];
更新问题是“keypipe”,所以我们需要使用
denree.value.toggle=!denree.value.toggle
我正在使用 Angular 11.1.4 和 typscript 4.1.5。我在很多地方都遇到了这个错误...
我想根据不同的产品类型对我的对象进行分组。这是我的代码:
newPlatDenrees = [];
...
this.newPlatDenrees = this.plat.denrees.reduce((r, a) => {
r[a.typeProduit] = r[a.typeProduit] || [];
r[a.typeProduit].push(a);
return r;
}, Object.create(null));
然后我做一个这样的展示。问题是这种方式是有效的,但不可能发出 'ionic build --prod' 命令。 我不断收到此错误...
<ion-item-group *ngFor="let denree of newPlatDenrees | keyvalue; let i = index">
<ion-item-divider (click)="denree.toggle=!denree.toggle">
<ion-label>{{denree.key}}</ion-label>
<ion-icon slot="end" [name]="!denree.toggle ? 'chevron-down-outline' : 'chevron-forward-outline'">
</ion-icon>
</ion-item-divider>
<div *ngIf="!denree.toggle">
<ion-row *ngFor="let value of denree.value; let i = index ">
<ion-col class="ion-text-center">{{value.produit}}</ion-col>
<ion-col class="ion-text-center"> {{value.unite}}</ion-col>
<ion-col class="ion-text-center"> {{value.quantite}}</ion-col>
</ion-row>
</div>
</ion-item-group>
请帮帮我!
您可以在减少
this.newPlatDenrees = this.plat.denrees.reduce((r, a) => {
a.toggle=false //<--this line
r[a.typeProduit] = r[a.typeProduit] || [];
r[a.typeProduit].push(a);
return r;
}, Object.create(null));
之前 Angular 10,Angular 在我们“动态”添加属性时并不那么“小心”
如果您的 newPlatDenrees 是一种接口,您也可以将 属性 可选工具添加到接口
export interface IPlatDenre
{
...
toggle?:boolean;
}
newPlatDenress:IPlatDenre[];
更新问题是“keypipe”,所以我们需要使用
denree.value.toggle=!denree.value.toggle