2016-12-19 63 views
0

我通過一個名爲analytics.js網頁標題中這樣的文件注入谷歌分析代碼:全球功能不可見的內部功能

<script src="/assets/js/analytics.js"></script> 

這工作得很好。如果我轉到網頁,我可以從我的控制檯訪問全球功能ga

然而,在我服務,這看起來就像是:

import {Injectable} from "@angular/core"; 
import {Router, NavigationEnd} from "@angular/router"; 
var ga:any; 

@Injectable() 
export class GoogleAnalyticsService{ 
    constructor(){ 
     console.log(ga); 
    } 

    test(){ 
     console.log(typeof ga); 
    } 
} 

在這兩種情況下,控制檯輸出是不確定的。我將我的Angular2注入到html代碼的底部,因此它被加載爲最後一個腳本。

這是怎麼回事?

回答

4

替換:

var ga:any; 

declare var ga: any; 
而最後一個聲明中鍵入

首先創建一個新的變量