Angular 6-Rxjs订阅QueryList中的最后事件更改吗?

时间:2018-10-31 11:33:09

标签: javascript angular rxjs angular6 rxjs6

我正在尝试解决使用 Angular 6.x Rxjs 6.x

开发的应用程序的用例

这可能很简单,但我无法解决...。 总结一下,我有一些我在AfterViewInit周期中订阅的组件,然后每次每次调度或发出可观察对象时,我都只需要执行最后一个发出

 @ViewChildren(XComponent)
  xChilds: QueryList<XComponent>;

a ==> ngAfterViewInit() {
        this.xChilds.changes.pipe(
                ................ //I SHOULD PUT SOMETHING TO GET THE LAST VALUE
        ).subscribe(xChilds => {
          debugger;
          ------------------

该图将是这样

a)      >--A--A--A--A|
RESULT) >-----------A|

所以我第一次使用的方法是使用 TAKE(1) FIRST() LAST()之类的运算符,正在工作

关键是后者在我收到更多事件时不会触发或再次触发...

图就像这样

a)      >--A--A--A--A .......NOTHING HAPPENS.......... --A--A--A--A|
RESULT) >-----------A............................ ------------- NOTHING

就像运算符一样,第一个序列之后就取消订阅

我确定应该有一个运营商来实现我想要的

a)      >--A--A--A--A....NOTHING HAPPENS....--A--A--A--A|
RESULT) >-----------A.......................-----------A|

感谢您的帮助。预先谢谢!!!

0 个答案:

没有答案