【发布时间】:2017-08-14 02:47:44
【问题描述】:
您好,我有具有三个视图的购物车。 顶部页眉视图、中间产品视图、底部页脚视图。每个视图都有自己的组件。
在标题视图中,我的购物车图标旁边有我想显示购物车产品数量的图标。
我有两种情况:
场景 1:假设购物车包含两个产品,当页面加载时,所有三个视图都会根据它们各自的组件数据加载。在这种情况下,购物车计数按预期显示为 2。
场景 2:不,我正在单击中间视图中可用产品之一的添加到购物车选项。正确添加到数据中的产品我需要更新标题视图中的购物车计数,因此我从中间视图调用标题组件中可用的一个函数,并将一个添加到标题中可用的实际购物车计数变量零件。当我放置日志时,购物车计数打印正确,但标题视图未更新。有人可以帮助我如何获得更新的价值。
源代码:
标题组件:
...............
........
noOfItems:any = 2;
update updateCartCount(){
this.noOfItems = this.noOfItems + 1;
}
........
............
标题视图(HTML 文件):
<li class=""><a routerLink="/my-cart" alt="Wishlist"
title="Wishlist"><i class="fa fa-shopping-cart"></i>**{{noOfItems}}**</a></li>
中间组件
import {headerComponent} from './../../HeaderFooter/components/header.component';
export class DashboardRole implements AfterViewInit {
headerComp = new headerComponent();
addProductToCart(){
.....logic to save product details to database....
this.headerComp.updateCartCount();
}
}
【问题讨论】:
-
由于您在一个视图中拥有这三个组件,此链接将解决问题。通过服务在组件之间进行交互。 angular.io/docs/ts/latest/cookbook/…让我知道你是否设法解决了这个问题。