Передача состояния не обновляет компонент после завершения SSR в угловых 6 - PullRequest
0 голосов
/ 03 марта 2019

Вот код в моем сервисе:

import { TransferState, makeStateKey } from '@angular/platform-browser';

const PARTICULAR_BLOG_KEY = makeStateKey('particularBlog');

constructor(
    private state: TransferState
)

  getParticular(data): Observable<any> {
    const found = this.state.hasKey(PARTICULAR_BLOG_KEY);
    const dataSSR = Object.assign({}, this.state.get(PARTICULAR_BLOG_KEY, null as any));
    if (found) {
      return new Observable((observer) => {
        observer.next(dataSSR);
      });
    } else {
      return this.api.get('getBlog/' + data.id, null).pipe(map(response => {
        this.state.set(PARTICULAR_BLOG_KEY, response);
        return response;
      }));
    }
  }

Я подписался на сервис и когда API правильно отображает компонент во время SSR, но объект обнуляется, когда данные достигают компонента, такМне нужно обновить страницу, когда я удалил часть this.state.set, поток данных работал отлично, и мой компонент начал правильно отображать данные.

Вот компонент, который получает данные, искалеченные после подписки:

@Input() public set content(val: any) {

    this.savedLocal = val;
    this.blogItems = val;
    this.setSlider();
}

Дочерний компонент имеет нулевые значения.Но исправлены, если я удаляю код состояния передачи.Так как мне отладить его или принудительно обновить данные в дочернем компоненте?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...