0
我有一個角度應用程序,它使用由ngOnInit()中的外部.js庫設置的全局變量。建設和運行沒有任何問題。 當運行測試(與業力)時,我得到錯誤「myglobal未定義」。使用全局變量測試角度4應用程序
我試圖定義變量之前描述(),像這樣:
var myglobal = { };
describe('AppComponent',() => {
這不會改變任何東西。我應該如何定義這個變量?
我有一個角度應用程序,它使用由ngOnInit()中的外部.js庫設置的全局變量。建設和運行沒有任何問題。 當運行測試(與業力)時,我得到錯誤「myglobal未定義」。使用全局變量測試角度4應用程序
我試圖定義變量之前描述(),像這樣:
var myglobal = { };
describe('AppComponent',() => {
這不會改變任何東西。我應該如何定義這個變量?
解決這個你需要使用WindowRef
組件
import {WindowRef} from './WindowRef';
訪問window對象和類
constructor(private winRef: WindowRef) {
console.log('Window object', winRef.nativeWindow['yourGlobalVar']);
//or winRef.nativeWindow.yourGlobalVar
}
創建服務解決了問題。它不一定是一個窗口,但(但使用窗口可以幫助,如果有很多全局變量)。我使用了「myglobalService」和「get myglobal()」。我希望我不會讓我的代碼更重以添加測試... – Damien