我收到一个对象数组,我必须在其中创建新的属性,以便在html中显示。
public inicializeData() {
this.loaderService.eLoader.emit(true);
this.cartsSubscription = this.cartsService.getCarts().subscribe(carts => {
this.orders = carts;
this.orders.forEach(cart => {
cart.date = cart.functional_id.substring(0, 8);
cart.order_number = cart.functional_id.substring(8, 14);
});
this.load = true;
this.loaderService.eLoader.emit(false);
});
}
使一个对象在创建后有了新的属性。
{
"functional_id": "201911291131250012400000SD4AYAA1",
"transactions": [
{
"quantity": 2,
"price": 140,
"item": {
"name": "Carton de 10 coffrets",
"description": "+ 2 recharges d'argile offertes",
"product": {
"name": "Coffret empreinte rouge"
}
}
},
{
"quantity": 1,
"price": 0,
"item": {
"name": "Petit modèle",
"description": "Par 25",
"product": {
"name": "Sacs blancs",
"description": "Pour les crémations Plurielles"
}
}
}
],
"date": "20191129",
"order_number": "113125"
},
在这个函数中,我从属性 "functional_id "中提取了一个由前8位数字组成的数据,对应于创建日期,另一个由后6位数字组成,对应于注册号。
当我在html中显示它们时,它们立即加载,但在一秒钟内,我创建的两个数据从屏幕上消失。
<div class='order-list'>
<span *ngIf="!orders.length">No orders available</span>
<div class="fade-in" *ngFor="let order of orders; let i = index;">
<div class="row ciev-row header-row d-none d-lg-flex" [ngClass]="{'last': i === orders.length - 1}" (click)="toggle(order)">
<div class="col-sm-2 my-auto">{{order.functional_id}}</div>
<div class="col-sm-2 my-auto">{{order.date | date}}</div>
<div class="col-sm-2 my-auto">{{order.order_number}}</div>
</div>
</div>
我不明白为什么我找不到解决方案,谁能给我一个想法,我做错了。
我被数据在屏幕上消失的事实所困,以为是html或css的问题,我不明白为什么。但实际上,这是一个依赖于其他组件中调用的服务的订阅问题,并且通过应用程序的流程,我输入了两次,它覆盖了我的数据,显示了原件.感谢你们的时间和帮助。