将Angulartics2用于Google Analytics(分析)和Piwik(matomo)。如果我仅使用一个提供程序,则它们的效果很好,但在尝试同时使用两者时却存在语法问题。在app.module.ts ....
import {Angulartics2Module, Angulartics2GoogleAnalytics, Angulartics2Piwik} from 'angulartics2';
...以及稍后在模块中使用:
@NgModule({
imports: [
BrowserModule,
AppRoutingModule,
LayoutModule,
StaticModule,
Angulartics2Module.forRoot([ Angulartics2GoogleAnalytics, Angulartics2Piwik ]),
MetaModule.forRoot(metaConfig)
],
declarations: [
App
],
bootstrap: [ App ],
providers: [ ENV_PROVIDERS, APP_PROVIDERS ],
schemas: [ CUSTOM_ELEMENTS_SCHEMA ]
....
在app.routes.ts中,主要代码如下:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { NoContent } from './no-content';
import { Angulartics2GoogleAnalytics } from 'angulartics2';
import { Angulartics2Piwik } from "angulartics2";
import { DataResolver } from './app.resolver';
export const ROUTES: Routes = [
{ path: '', loadChildren: () => System.import('./home/home.module').then(mod => mod.HomeModule), pathMatch: 'full' },
{ ...other paths... },
{ path: '**', component: NoContent }
];
@NgModule({
imports: [RouterModule.forRoot(ROUTES)],
exports: [RouterModule]
})
export class AppRoutingModule
{
// constructor(angulartics2GoogleAnalytics: Angulartics2GoogleAnalytics) {}
constructor(angulartics2Piwik: Angulartics2Piwik) {}
}
如果取消注释导出类AppRoutingModule中的两个构造函数,则会得到“不允许多个构造函数”的信息。
我想确保同时使用这两个提供程序,但似乎无法弄清楚如何在导出中同时使用这两个提供程序。
谢谢。
答案 0 :(得分:0)
从app.routing.module.ts中删除不必要的构造函数,
constructor(angulartics2Piwik: Angulartics2Piwik) { //remove this
}