【发布时间】:2017-01-06 21:22:28
【问题描述】:
我打算做这样的架构:
- 组件
store - --嵌套组件
book
在store - 我有一个服务调用,它从服务中获取数据,我订阅了结果。就像 angular2 文档 (http) 中描述的那样。
我想在嵌套组件中使用这些数据:在表单 (formBuilder)、材料设计元素等中。
哪种方式最好?我是 angular2 的新手。
商店:
book: IBook;
constructor(private bookService: BookService) { }
ngOnInit() {
this.bookService.getBook('1')
.subscribe((book) => {
this.book = book;
});
}
图书服务:
...
getBook (id): Observable<IBook> {
return this.http.get(this.url + '/' + id)
.map(this.extractData)
.catch(this.handleError);
}
private extractData(res: Response) {
let body = res.json();
return body || { };
}
...
书籍:
@Input() book:IBook;
constructor() {}
ngOnInit() {
/*How here can i subscribe on book http data get?, so that i can use async value in forms etc?*/
});
因为,如果我在任何地方都使用 async book(不是 formBuilder) - 一切都很好,但 formBuilder 需要在父组件中加载数据后更新值。我该怎么做?
【问题讨论】:
标签: javascript angular typescript