2017-05-24 35 views
0

我正在使用Express js構建Web應用程序。我使用API​​來獲取一些數據,然後以下面的格式將它發送到帕格文件。pug-根據元素是否在變量中退出來執行操作

res.render('native.pug', {product_name: body.products, cart_items:body.cart, item_count:body.count, amount: body.totalAmount, sid: sess.id}); 

body是一個json對象。

我得到兩個body.products id字段(與其他領域的一起)和body.cart

body.products包括所有產品的列表及其詳細信息

body.cart由細節用戶添加到購物車中的所有產品。現在

,在native.pug文件,我想顯示不同文本的基礎上,如果從body.products一個特定的ID存在或不body.cart

這裏是我試過

each prod in product_name 
    if prod.id in cart_items.id 
     button Add to Cart 
    else 
     button abc 

我收到以下錯誤

Add to Cart 23| else 24| button abc Cannot use 'in' operator to search for '590' in undefined 

我要去哪裏錯了什麼呢?

編輯:壓痕

+0

您沒有變數'prod'。另外它聽起來像'cart_items'可能是一個數組,所以它不會有'id'屬性。 – Aron

+0

prod是product_items中每個元素的變量..我將更新 – krishna

回答

1

你可能想是這樣的:

if (cart_items.indexOf(prod.id) > -1) 
    button Add to Cart 
else 
    button abc 

這假定

  1. prod是與id屬性的對象
  2. cart_items是012的數組s
+0

「cart_items.includes不是函數」是我得到的錯誤 – krishna

+0

@krishna嘗試將if條件更改爲if(cart_items.indexOf(prod .id)!== -1)' –

+0

@krishna有沒有運氣? – Aron

相關問題