這是我的項目,邏輯是這樣的,右邊顯示的是產品列表,按加會判斷是否已經有加入購物車,有就增加數量,沒有就創建一條記錄。
頁面刷新時,如何將產品清單和使用者的購物車進行配對?
<ion-header>
<ion-navbar>
<ion-title>产品列表</ion-title>
<button ion-button menuToggle end>
<ion-icon name="menu"></ion-icon>
</button>
</ion-navbar>
</ion-header>
<ion-content>
<p class="left-list">
<ion-list >
<button ion-item *ngFor="let category of categories" (click)="getItems(category)" [class.active]="category==selectCategory">
{{ category.name }}
</button>
</ion-list>
</p>
<p class="right-content">
<ion-list>
<ion-item *ngFor="let item of items">
<ion-thumbnail item-left *ngIf="item.image">
<img src="{{item.image}}">
</ion-thumbnail>
<h2>{{item.name}}</h2>
<p>{{item.text}}</p>
<p class="input-group">
<button ion-button round>-</button>
<input type="number" [(ngModel)]="item.cart.number || 0" >
<button ion-button round (click)="itemInc(item)">+</button>
</p>
</ion-item>
</ion-list>
</p>
</ion-content>
我目前的邏輯是,關聯出來用戶的這個產品的在購物車的記錄,有記錄item.cart.number
,就顯示,沒有就顯示0,結果一大堆錯誤。 。 。 。
這應該是做一個順手資料結構的問題。
列表的結構是後端給你的不需要轉換,先查分類再查分類對應的產品即可。
購物車需要單獨做個變數物件(map),key是產品id,value是數量,在範本裡直接存取對應的數量即可。