所以,我正在写一些有棱角的东西。我遇到了一个我想要更好理解的问题。我知道你们中的一些人都会明白这一点,但我不能理解为什么这样做会这样。
这是我的前两个问题。
在我的ngOnInit
处理程序中,我订阅了一个Rx.Observable ......我想知道为什么模板中的*ngIf
不会更新,除非我这样做手动zone.run()
。这是正常的吗?或者这里有点奇怪。我希望这只是简单的工作。
当我尝试将区域注入我的AppComponent#constructor
时,我遇到了运行时错误,因为我不知道如何将参数解析到我的应用程序组件。所以我必须将@Inject(NgZone)
添加到开头。不知道为什么它没有简单地工作并且在没有添加@Inject
语法的情况下注入它。任何人都知道那里有什么?
答案 0 :(得分:0)
我找到了解决方案。我不确定它是否是唯一的解决方案,但在考虑了几天后,它对我来说最有意义。我认为问题在于我订阅的可观察对象是在我导入zone.js之前创建的。所以...我只是将zone.js
导入为第一件事,然后区域立即知道了来自observable的变化。
所以答案是:将import 'zone.js'
移到所有导入的顶部。