Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度2+;谷歌分析+;路由器导航_Javascript_Angular_Angular Routing - Fatal编程技术网

Javascript 角度2+;谷歌分析+;路由器导航

Javascript 角度2+;谷歌分析+;路由器导航,javascript,angular,angular-routing,Javascript,Angular,Angular Routing,我正在尝试将google analytics添加到我的项目中,但遇到一些导航错误,我正在使用新路由器,下面是我的代码: // app.component.ts declare var ga:Function; export class App { private currentRoute:string; constructor(_router: Router, _location: Location) { _router.events.subscribe((eve

我正在尝试将google analytics添加到我的项目中,但遇到一些导航错误,我正在使用新路由器,下面是我的代码:

// app.component.ts
declare var ga:Function;
export class App {
    private currentRoute:string;
    constructor(_router: Router, _location: Location) {
        _router.events.subscribe((event:Event) => {
            if(event instanceof NavigationStart) {
                var newRoute = this._location.path() || '/';
                if(newRoute !== this.currentRoute) {
                    ga('send', 'pageview', newRoute);
                    this.currentRoute = newRoute;
                }
            }
        });
    }
}
这就是我得到的错误:

ERROR in [default] angular/src/app/app.ts:18:27
Argument of type '(event: Event) => void' is not assignable to parameter of type 'NextObserver<NavigationStart | NavigationEnd | NavigationCancel | NavigationError> | ErrorObserve...'.
  Type '(event: Event) => void' is not assignable to type '(value: NavigationStart | NavigationEnd | NavigationCancel | NavigationError) => void'.
    Types of parameters 'event' and 'value' are incompatible.
      Type 'NavigationStart | NavigationEnd | NavigationCancel | NavigationError' is not assignable to type 'Event'.
        Type 'NavigationStart' is not assignable to type 'Event'.
          Property 'bubbles' is missing in type 'NavigationStart'.

ERROR in [default] angular/src/app/app.ts:19:23
Cannot find name 'NavigationStart'.

ERROR in [default] angular/src/app/app.ts:20:24
Property '_location' does not exist on type 'App'.
[default]angular/src/app/app.ts中的
错误:18:27
类型为“(event:event)=>void”的参数不能分配给类型为“NextObserver | ErrorObserve…”的参数。
类型'(事件:事件)=>void'不可分配给类型'(值:NavigationStart | NavigationEnd | NavigationCancel | NavigationError)=>void'。
参数“事件”和“值”的类型不兼容。
类型“NavigationStart | NavigationEnd | NavigationCancel | NavigationError”不可分配给类型“Event”。
类型“NavigationStart”不可分配给类型“Event”。
类型“NavigationStart”中缺少属性“bubbles”。
[default]angular/src/app/app.ts中出错:19:23
找不到名称“NavigationStart”。
[default]angular/src/app/app.ts中出错:20:24
类型“App”上不存在属性“\u location”。

请同时添加导入语句,看看这是否解决了您的问题:

import {Location} from '@angular/common';
import {NavigationStart} from '@angular/router';

您是否从@angular/router导入了NavigationStart,从@angular/commonSee导入了Location?昨天我导入了NavigationStart&end&解决了我的问题:)伟大的这也是一个答案