[英]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.