在我的Angular项目中,一个页面包含2个名为“ head”和“ product”的组件。
在“ head”中,我可以更改页面的货币。.我将货币信息保留在localStorage中。
this.service.refreshNumberOfAllPriceByCurrency.next(Math.random()); //"refreshNumberOfAllPriceByCurrency" is defined as ReplaySubject<any>(1) in service component.
此行将触发“产品”组件中的订阅,如下所示:
constructor(.........) { this.service.refreshNumberOfAllPriceByCurrency.subscribe(number => { this.gridProduct.instance.refresh(); this.gridPrice.instance.refresh(); }); }
在订阅范围内进行调试时,“此”上下文不包含gridProduct,gridPrice和linensOfferId。因此它无法获取“未定义”的实例…
如何在订阅范围内获取这些网格的实例?
提前感谢...
[在我的Angular项目中,一个页面包括2个分别名为“ head”和“ product”的组件。在“ head”中,我可以更改页面的货币。.我将货币信息保存在localStorage中。 ..
我解决了这个问题。 “ this.service.refreshNumberOfAllPriceByCurrency.subscribe()”事件在构造函数中。我修改了如下代码:
constructor()
{
var this2=this;
this.service.refreshNumberOfAllPriceByCurrency.subscribe(number => {
if (this2.linensOfferId > 0) {
this2.gridProduct.instance.refresh();
this2.gridPrice.instance.refresh();
}
});
}