3

我正在尝试angulartics2与我的应用程序一起使用。

如文档中所述,我已正确配置。

注意: 没有提到将提供程序添加为依赖项的地方。

当我尝试运行该应用程序时,它显示如下错误。

例外:没有 Angulartics2GoogleAnalytics 的提供者!错误:NoProviderError.AbstractProviderError [as constructor] (core.umd.js:1371) 处 NoProviderError.BaseError [as constructor] (core.umd.js:1186) 处 NoProviderError.ZoneAwareError (zone.js:811) 处的 DI 错误ReflectiveInjector_ 处的新 NoProviderError (core.umd.js:1411)。在 ReflectiveInjector 的 throwOrNull (core.umd.js:3394)GetByKeyDefault (core.umd.js:3433) 在 ReflectiveInjectorReflectiveInjector 的 getByKey (core.umd.js:3380).get (core.umd.js:3140) 在 AppModuleInjector.NgModuleInjector.get (core.umd.js:8996) 在 CompiledTemplate.proxyViewClass.AppView.injectorGet (core.umd.js:12465) 在 CompiledTemplate.proxyViewClass.DebugAppView。在 CompiledTemplate.proxyViewClass.AppView.createHostView (core.umd.js:12421) 在 CompiledTemplate.proxyViewClass.View_AppComponent_Host0.createInternal (/AppModule/AppComponent/host.ngfactory.js:15) 的 injectorGet (core.umd.js:12845) CompiledTemplate.proxyViewClass.DebugAppView.createHostView (core.umd.js:12829) at ComponentFactory.create (core.umd.js:7766) 1 : https://github.com/angulartics/angulartics2

应用组件.ts

import { Component } from '@angular/core';
import { Angulartics2GoogleAnalytics } from 'angulartics2';
@Component({
  selector: 'my-app',
  moduleId: module.id,
  templateUrl: `./app.component.html`,
  styleUrls: ['/app.componenet.css']
})
export class AppComponent {
title = 'Angular2 google analytics';
constructor(angulartics2GoogleAnalytics: Angulartics2GoogleAnalytics) {}
}

app.module.ts

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent }  from './app.component';
import { HttpModule } from '@angular/http';
import { FormsModule }   from '@angular/forms';
import { Angulartics2Module, Angulartics2GoogleAnalytics } from 'angulartics2';
@NgModule({
  imports:      [ HttpModule, BrowserModule, FormsModule, Angulartics2Module.forRoot([ Angulartics2GoogleAnalytics ])],
  declarations: [ AppComponent ],
  bootstrap:    [ AppComponent ],
})
export class AppModule { }
4

2 回答 2

4

用于providers在组件中启动您的提供程序。

 @Component({
    selector: 'yourselector',
    styleUrls: [''],
    templateUrl: '',
    providers: [Angulartics2GoogleAnalytics]
})

尝试这个。

于 2017-05-30T07:56:29.507 回答
2

您的问题应该存在于您的构造函数中:

constructor(angulartics2GoogleAnalytics: Angulartics2GoogleAnalytics) {}

public您应该在您的提供者前面添加例如:

constructor(public angulartics2GoogleAnalytics: Angulartics2GoogleAnalytics) {}
于 2017-01-30T13:56:18.870 回答