Angular 8: правильно ли отладчик кода Visual Studio отлавливает поведение субъекта? - PullRequest
0 голосов
/ 09 ноября 2019

Известно ли, что установка formBuilder в подписке вызывает какие-либо проблемы / проблемы? При проведении этой строки значения формы никогда не устанавливаются, даже если они четко отображаются в отладчике. Тем не менее, он никогда не попадает на экран HTML.

При удалении первой строки подписки и просто установке значений без подписки это работает, любопытно, почему это может произойти.

Я только что сделалконсольный журнал, после того как он выходит из скобок подписки}, значения пустые, странные.

this.addressCopyFromToMailingService.currentMessage.subscribe(currentMessage => {
      this.editAddressForm.setValue({
        'streetNumber' : "aaa",
         'streetName' : "aaa",
        'city' : "aaa",
        'state' : "aaa",
        'postalCode' : "aaa"...
    });
});

enter image description here

Базовая служба:

export class generalService {

  private messageSource = new Subject();
  currentMessage = this.messageSource.asObservable();

  constructor() { }

  changeMessage(currentMessage) {
    this.messageSource.next(currentMessage);
  }
}

1 Ответ

1 голос
/ 10 ноября 2019

Я думаю, что проблема заключается в многоадресном поведении Subject. Попробуйте использовать BehaviorSubject(initialValue) или ReplaySubject(1)

  private messageSource = new ReplaySubject(1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...