我对 Angular 相当陌生,我的问题是: 我有一个主组件,其中有一些子组件,例如表单组件、选项卡组件、状态组件。
在主组件 init 上,我发出了一个数据请求(假设我将其订阅到 Object1)。该日期用于表单和状态组件。
但是我有一个选项卡组件,我在其中初始化另一个请求(假设是 Object2)。在此组件上,我有一个运行 http post(更新 Object2)的按钮,并在后端更改 Object1 的一个值(状态组件中的状态值)。
在选项卡组件中的 http post 成功后,如何重新加载所有主要组件以查看 Object1 已更改?
最佳答案
On main component init I do a request for data (let's say i subscribe it to Object1). This date are used in forms, and status component.
使用Outputs
再次调用此方法。
基本上,您只需要再次发出数据请求即可。
例如组件 2 发布按钮
@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() = 与您第一次请求数据所用的方法相同。
关于javascript - Angular 2如何在http post后刷新表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44111080/