Angular2 - 如何从应用程序组件触发事件到路径

时间:2016-09-07 16:07:21

标签: angular

我是Angular2的新手(对Angular1没有任何经验),我目前正在开发一个小型网站。我需要做的是非常直截了当。在AppComponent的模板中,有两个用于语言选择的按钮。我还有一条路线,比如说/ products,我在那里显示从WS检索到的产品列表(http通过服务获取)。当我按下其中一个语言按钮时,我需要刷新产品列表。我在ProductsService类中创建了http.get请求,并且我订阅了ProductsComponent类中的observable。但是,如何在AppComponent中触发get请求,同时仍在ProductsComponent中接收订阅?

任何帮助都表示赞赏

1 个答案:

答案 0 :(得分:0)

根据您的描述,您可以做两件事。

  • 在AppComponent

    中将ProductComponent添加为ViewChild
    import {ViewChild} from '@angular/core';
    export class AppComponent{
        @ViewChild(ProductComponent) ProductComponent;
        public reloadProduct(): void {
            this.ProductComponent.reloadProduct();
        }
    }
    
  • 将ProductService类中的产品信息存储在变量中。按语言按钮时,调用Web服务并获取新产品并将其存储在ProductService类变量中。 Angular将自动在ProductComponent中执行更改检测并显示更新的产品列表。