繁体   English   中英

Angular 8:Visual Studio Code 调试器是否正确捕获主题行为?

[英]Angular 8: Does Visual Studio Code Debugger Catch Subject Behavior Correctly?

是否在订阅中设置formBuilder会导致任何问题/问题? 执行此行时,表单值从未设置,即使它在调试器中清楚显示。 但是,它永远不会进入 HTML 屏幕。

当删除第一个订阅行时,只是在没有订阅的情况下设置值,它可以工作,很好奇为什么会发生这种情况。

我刚刚做了一个控制台日志,一旦它离开订阅方括号},值是空的,很奇怪。

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

在此处输入图像描述

基础服务:

export class generalService {

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

  constructor() { }

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

我认为问题在于Subject的多播行为。 尝试使用BehaviorSubject(initialValue)ReplaySubject(1)

  private messageSource = new ReplaySubject(1);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM