如何使用角度路由将产品添加到购物车?

Posted

技术标签:

【中文标题】如何使用角度路由将产品添加到购物车?【英文标题】:How to add product into cart using routing in angular? 【发布时间】:2019-08-06 05:59:27 【问题描述】:

我有 4 个子组件,其中 3 个有 arrayList,每个都有关于产品的一些细节,如品牌、型号和价格。现在我想将此产品添加到第四个组件中,即使用每个产品前面的添加按钮的购物车列表。为此,我需要使用路由。3 个组件的名称是 Mobile、Tv、Laptop。

您可以通过https://stackblitz.com/edit/angulaar-tvcart-nedabx?file=src%2Fapp%2Fcart%2Fcart.component.ts 了解整个想法

提前谢谢..!!

【问题讨论】:

为什么要使用路由(例如带有查询参数)而不是服务? 我正在使用服务..但是这样做还需要路由器吗?? @Wandrille 您可以通过打开该链接来了解整个想法。例如,我正在考虑移动部分。一旦完成,我也会对其他两个部分应用相同的内容。跨度> 为了让你更容易理解......我只需要在按下添加按钮时将数据传递给 authService..然后需要将该数据推送到 authService 中的 arrayList 并显示它。 .但我无法将该数据传递给 authService.. 希望你能得到它.. 【参考方案1】:

这有点乱,但你可以点这个:

在您的.html 中,单击时使用函数 add(c)。

<div class="col-4  bg-light ">c.brand</div>
<div class="col-4  ">c.model</div>
<div class="col-2 ">c.price</div>
<button class=" col-1 btn-primary" (click)="add(c)">ADD</button>

在您的 .component.ts 中,创建函数 add。

constructor(private cartService : CartService)

add(product)
   this.cartService.add(product)

为您服务cart.service.ts

products = [];

add(product)
  this.products.push(product);


getProducts()
  return this.products

在你的cart.component.ts:

products=[];

constructor(private cartService : CartService)

ngOnInit()
  this.products = this.cartService.getProducts()

【讨论】:

谢谢!它确实进行了一些修改..但感谢您提供这个想法

以上是关于如何使用角度路由将产品添加到购物车?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用户无法从不同商店将产品添加到购物车会话?

在 Shopify 中,如何通过 url 将不同数量的多个产品添加到购物车

插件:Woocommerce > 如何允许作者将产品添加到购物车

添加到 WooCommerce 购物车时如何重置所有字段

Magento 2.3.5:使用自定义选项和价格将产品添加到购物车

当我使用 laravel 6.0 单击添加到卡片按钮时,我想将产品项目显示到购物车中?