Функция загрузки Rxjs-DOM не запускает угловой 2

В настоящее время я работаю над проектом Angular 2, где мне нужно вызывать только определенные функции и только после того, как ВСЕ элементы на странице загружены. Я попытался использовать функцию eventFrom из Observable, она работала, когда я ожидал операцию "щелчка", но как только я переключился на "нагрузку", он вообще не срабатывал. Затем я попытался использовать функцию загрузки Rxjs-DOM и не огонь тоже.

Вот код, который у меня есть сейчас:

ngAfterViewInit(): void {
  let input = this.container.nativeElement.getElementsByClassName('list-item');

  let source = Rx.DOM.load(input);

  let subscription = source.subscribe((x) => {
      console.log('Next!');
    },
    (err) => {
      console.log('Error: ' + err);
    },
    () => {
      let temp = this.container.nativeElement.getElementsByClassName('list-item');
      console.log(temp.length);
    });

}
<div class="list-wrapper">
  <div class="list">
    <div class="list-item" *ngFor="let item of items">
      <img src={{item.image}} alt="{{item.title}}">
    </div>
  </div>
</div>

 "@angular/core": "4.0.1",
    "@types/rx-dom": "^7.0.0",
    "angular2-infinite-scroll": "0.3.4",
    "gulp-run": "1.7.1",
    "rxjs": "5.2.1-smooth"

temp.length всегда 0. Если я установлю timeout там он будет работать отлично, так как все элементы загружаются через 2-3 секунды, а затем temp не пусто Но тайм-аут не желателен в этом случае. Что-то я делаю не так? Другой вопрос: есть ли в Angular 2 какой-либо другой способ вызывать функции только после того, как все элементы dom НАСТОЯЩИХ загружены.

Заранее спасибо.

1 ответ

Решение

Пытаться ngZone.run, Это позволит угловой рендеринг для последней модели.

Другие вопросы по тегам