我有一个使用Angular Google Maps来显示位置的应用程序。一开始我可以显示地图,但过了一段时间(可能是我修改了一些东西),我得到了以下错误:
ERROR Error: Uncaught (in promise): Error: StaticInjectorError[NgZone]:
StaticInjectorError[NgZone]:
NullInjectorError: No provider for NgZone!
at _NullInjector.get (core.js:923)
at resolveToken (core.js:1211)
at tryResolveToken (core.js:1153)
at StaticInjector.get (core.js:1024)
at resolveToken (core.js:1211)
at tryResolveToken (core.js:1153)
at StaticInjector.get (core.js:1024)
at resolveNgModuleDep (core.js:10585)
at NgModuleRef_.get (core.js:11806)
at resolveDep (core.js:12302)
at _NullInjector.get (core.js:923)
at resolveToken (core.js:1211)
at tryResolveToken (core.js:1153)
at StaticInjector.get (core.js:1024)
at resolveToken (core.js:1211)
at tryResolveToken (core.js:1153)
at StaticInjector.get (core.js:1024)
at resolveNgModuleDep (core.js:10585)
at NgModuleRef_.get (core.js:11806)
at resolveDep (core.js:12302)
at resolvePromise (zone.js:824)
at resolvePromise (zone.js:795)
at eval (zone.js:873)
at ZoneDelegate.invokeTask (zone.js:425)
at Object.onInvokeTask (core.js:4620)
at ZoneDelegate.invokeTask (zone.js:424)
at Zone.runTask (zone.js:192)
at drainMicroTaskQueue (zone.js:602)
at <anonymous>我的代码是: app.module.ts:
import { AgmCoreModule } from '@agm/core';
imports AgmCoreModule.forRoot({apiKey:'...'})mycomponent.html
<agm-map [latitude]="lat" [longitude]="lng" [zoom]="zoom">
<agm-marker [latitude]="lat" [longitude]="lng">
<agm-info-window>
<div>
my text
</div>
</agm-info-window>
</agm-marker>
我真的很感谢你的帮助!
发布于 2018-01-16 01:15:47
您可以手动提供NgZone:
import { NgZone } from '@angular/core';
@NgModule({
providers: [
// ...
{ provide: NgZone, useFactory: () => new NgZone({}) }
]
})发布于 2018-10-26 08:59:27
您需要添加包含您正在使用的所有库的peerDependencies。
还可以通过从导入中删除每个模块来检查,以查看是哪个模块导致了问题。这个应该会有帮助。
https://stackoverflow.com/questions/47859373
复制相似问题