【发布时间】:2017-12-18 08:24:39
【问题描述】:
我有一个组件,其中数据由路由器解析,例如:
this.route.data.subscribe((data => { .....
现在我们向这个组件添加了一个 http post 事务,它改变了我们解析的数据的状态。
有没有方便的方法来重新解析路线数据?
添加更多代码...为了保护 IP 已更改了一些内容,因此请原谅任何语法错误。
在子组件中,订阅帖子:
this.myDataService.postUpdate(id, this.noteText).subscribe(
data => {
this.userMessageService.send('success', 'Update Complete', 'The update has been updated.');
},
error => this.userMessageService.send('error', 'Update Error', 'The update failed: ' + <any>error)
);
然后在“myDataService”中:
postUpdate(id: number, notes: string) {
return this.http
.post(this.url,
{ "Id": id, "Notes": notes }, options)
.map((res) => {
return {};
})
.catch((e) => {
return Observable.throw(e.message || e);
});
}
【问题讨论】:
-
您可以发布您的 http 邮政编码吗?你在哪里添加了 http 帖子?
-
http post在服务中,从主组件的子组件调用。子组件订阅帖子。如果您认为有帮助,我会在 OP 中添加更多代码。
-
听起来您在主组件的 this.route.data.subscribe() 中需要 ViewChild (learnangular2.com/viewChild) 之类的东西,您可以触发子组件方法来订阅帖子.
-
@LLai,我可以补充一下。但是让我们假设对 post 服务的调用在主要组件中。我仍然会有同样的问题。帖子完成后如何重新解析数据?
-
嗯我想我对“重新解决”感到困惑。是否要重新触发解析中处理的第一个 http 请求?所以解决 -> 发布 -> 解决
标签: angular angular-components angular-router