【发布时间】:2017-03-10 00:31:42
【问题描述】:
我有一个 ComponentA 组件,它显示元素列表。此列表在ngOnInit 期间启动。
我有另一个组件 ComponentB 提供的控件可能会影响 ComponentA 中显示的元素列表。例如。可以添加一个元素。
我需要一种方法来触发 ComponentA 的重新初始化。
有人有想法吗?
详情
A 是一个 HeaderBar,带有一个显示“已保存搜索”列表的菜单
@Component({
selector: 'header-bar',
templateUrl: 'app/headerBar/headerBar.html'
})
export class HeaderBarComponent implements OnInit{
...
ngOnInit() {
// init list of savedSearches
...
}
}
B 是一个可以保存搜索的 SearchComponent
@Component({
selector: 'search',
templateUrl: 'app/search/search.html'
})
export class SearchComponent implements OnInit {
...
}
【问题讨论】:
-
使用可观察的服务? angular.io/docs/ts/latest/cookbook/…
-
ComponentA 正在使用一个服务返回一个可观察的元素列表。但是在 ngOnInit 期间返回列表后,它就完成了。 (这是一个http-get)
-
你创建你自己的 observable,所以你可以在组件 B 做某事时通知组件 A。只需阅读他们非常解释性的文档
-
A,我知道了...应该先阅读您的链接。非常感谢!
标签: angular typescript angular2-components