从子组件获取主题值

时间:2018-08-11 15:00:38

标签: angular rxjs

我想将主题传递给子组件:

父母:

组件

public dataStream$ = new Subject<Array<string>>()

ngOnInit () {
  this.dataStreams$.next(['hello!'])
}

模板

<child-component [dataStream]="dataStream$" />

孩子:

组件

Input('dataStream') dataStream$: Subject<Array<string>>

ngOnInit () {
  this.dataStreams$.subscribe((data) => console.log(data))
}

===

很显然,这永远不会console.log(),在子组件上调用.next()之前,主题会调用ngOnInit

问题是,如何将Subject.startWith()的值添加到子组件中?

使用行为主题的最佳选择是吗?在这种情况下,它将使用undefined值启动,而我必须在子级中将其过滤掉。

2 个答案:

答案 0 :(得分:0)

最终这样做:

UPDATE ff_search_data
SET someboolarray = ARRAY['true','true','true','true','true']::bool[], sometsarray = ARRAY['2009-12-01 00:00:00','2009-12-01 00:00:00','2009-12-01 00:00:00','2009-12-01 00:00:00','2009-12-01 00:00:00','2009-12-01 00:00:00']::timestamp[]
WHERE search_term = 'test';

答案 1 :(得分:0)

创建了一个堆栈闪电,以使用可观察的方式演示Parent => child组件通信。 https://stackblitz.com/edit/angular-5frgtn