Angular 6 - Rxjs Подписаться на последние события в QueryList? - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь решить пример использования приложения, которое я разрабатываю с 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|

Я ценю любую помощь. Заранее спасибо !!!!

...