Angular 2如何在http

时间:2017-05-22 10:54:56

标签: javascript angular http post request

我在Angular中比较新,我的问题是: 我有一个主要组件,它有一些子组件,如表单组件,选项卡组件,状态组件。

在主组件init上,我做了一个数据请求(假设我订阅了Object1)。此日期用于表单和状态组件。

但是我有一个标签组件,我在它上面有另一个请求(假设是Object2)。在这个组件上,我有一个运行http post(更新Object2)的按钮,在后端,它从Object1更改一个值(状态组件中的状态值)。

如何重新加载所有主要组件,以便在标签组件中的http post上成功后看到Object1已更改?

1 个答案:

答案 0 :(得分:1)

  

在主组件init上我做了一个数据请求(让我说我订阅了   它到Object1)。此日期用于表单和状态组件。

使用Outputs再次调用此方法。

基本上你只需要再次提出数据请求。

E.g Component 2 Post按钮

@Output() refresh = new EventEmitter();
post(){
   //make http.post request
   .subscribe(
     res => console.log(res), 
     err => console.error(err), 
     () => this.refresh.emit();
 )

}

需要刷新的组件1 - 模板

<component-2 (refresh)="getData()"></component-2> 

其中getData()=第一次用于请求数据的方法。