Javascript Angular 8:VisualStudio代码调试器是否正确捕获主题行为?
订阅中的设置Javascript Angular 8:VisualStudio代码调试器是否正确捕获主题行为?,javascript,angular,typescript,angular8,Javascript,Angular,Typescript,Angular8,订阅中的设置formBuilder是否会导致任何问题?执行这一行时,表单值从未设置,即使它已在调试器中清楚显示。但是,它从未进入HTML屏幕 当删除第一个订阅行时,只需在没有订阅的情况下设置值,它就会工作,奇怪为什么会发生这种情况 我刚刚做了一个控制台日志,一旦它离开订阅方括号},值是空的,奇怪 this.addressCopyFromToMailingService.currentMessage.subscribe(currentMessage => { this.editA
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);
}
}
我认为问题在于
主题的多播行为。尝试使用BehaviorSubject(initialValue)
或ReplaySubject(1)
currentMessage
是什么样的可观察信息?ABehaviorSubject
?hi@ChrisY刚刚发布了服务代码,谢谢如果你没有设置所有的值,那么你应该使用patchValuehi@RickyStam是的,我确实设置了所有的值,只是没有显示stackoverflow,你能给我们看看stackbitz demohi ChrisY吗,你是怎么知道的?考虑到问题中缺少信息,您是对的,似乎VS代码调试器也向我发送了错误的信息给出了分数和已接受的答案,请随意对问题竖起大拇指,谢谢!
private messageSource = new ReplaySubject(1);