【发布时间】:2017-09-22 01:37:48
【问题描述】:
您好,当数据库被修改时,您正在尝试寻找更新组件视图的最佳方式,
目前我订阅了一个 observable 以获取所有记录
getBlogs(){
return this._http.get(this.blogsURL+'blogs')
.map((result: Response ) => {
this.blogs = result['blogs'];
return this.blogs;
})
}
然后
this.blogsService.getBlogs()
.subscribe((res)=>{
this.blogs = res;
console.log(res)
})
这很好,但是当记录更新时,组件中的视图不会。 我可以通过一个主题来解决这个问题,当 getBlogs 和 update blogs 函数被触发时更新它
this.populateList = new Subject<Blog[]>();
this.populateList.next(blogs)
然后订阅,所以我最终得到了这样的东西?
this.blogsService.getBlogs()
.subscribe((res)=>{
// this.blogs = res;
//console.log(res)
})
this.blogsService.populateList
.subscribe((res)=>{
this.blogs = res;
console.log(res)
})
但我想将它全部集中到一个订阅中,也许是mergeMap switchMap? 希望这是有道理的
【问题讨论】: