我在组件中有这样的代码:
constructor(
public projectS: ProjectService,
private revenueAnalysis: RevenueAnalysisService,
public projectYear: ProjectYearService,
) {
this.setupCharts();
this.projectYear.projectYears$.subscribe(data => console.log('1', data));
this.revenueAnalysis.revenueAnalysis$.subscribe(data => console.log('2', data));
this.projectS.project$.subscribe(data => console.log('3', data));
}
...
setupCharts() {
combineLatest(
this.projectYear.projectYears$,
this.projectS.project$,
this.revenueAnalysis.revenueAnalysis$
)
.subscribe(
([projYears, project, _]) => {
console.log('4 SETUP CHARTS');
...
在Chrome(macOs)中,我得到了预期的结果:3、1、2、4被记录下来(按该顺序)
在Safari(macOs)中,我得到结果:3、1、2得到记录,但没有4 。
任何线索?
答案 0 :(得分:0)
我找到了解决方法
public function init()
{
$this->setAttrib('id', 'my_form');
$this->setName('form_test');
$this->setSubmitLabel($this->translate('Save Changes'));
$this->setValidatePartial(true);
}
以前是<input name="instance_name" id="my_form_instance_name-kchovmizxlas" value="" aria-describedby="desc_my_form_instance_name-kchovmizxlas" type="text">
类型的
我将其更改为this.revenueAnalysis.revenueAnalysis$
,并在代码中添加了一些空检查。突然间它起作用了。
虽然没有解释为什么它不能在所有浏览器中与ReplaySubject一起使用。.