2017-07-27 93 views
0

我有一個角度應用程序,它使用由ngOnInit()中的外部.js庫設置的全局變量。建設和運行沒有任何問題。 當運行測試(與業力)時,我得到錯誤「myglobal未定義」。使用全局變量測試角度4應用程序

我試圖定義變量之前描述(),像這樣:

var myglobal = { }; 
describe('AppComponent',() => { 

這不會改變任何東西。我應該如何定義這個變量?

回答

1

解決這個你需要使用WindowRef組件

import {WindowRef} from './WindowRef'; 

訪問window對象和類

constructor(private winRef: WindowRef) { 

console.log('Window object', winRef.nativeWindow['yourGlobalVar']); 
//or winRef.nativeWindow.yourGlobalVar 

}

source here

+0

創建服務解決了問題。它不一定是一個窗口,但(但使用窗口可以幫助,如果有很多全局變量)。我使用了「myglobalService」和「get myglobal()」。我希望我不會讓我的代碼更重以添加測試... – Damien