嗨I'm學習angular2,和我不知道what's這行代碼的含義是:what's(<any>窗口).__ karma__的意思
let loadingGif: string = ((<any>window).__karma__) ? '' : require('images/loadin\ g.gif');
,能不能請任何人都可以幫助我?
問候!
嗨I'm學習angular2,和我不知道what's這行代碼的含義是:what's(<any>窗口).__ karma__的意思
let loadingGif: string = ((<any>window).__karma__) ? '' : require('images/loadin\ g.gif');
,能不能請任何人都可以幫助我?
問候!
它只是檢查環境是否是業力測試環境。如果是,那麼就不需要加載gif。如果它不是測試環境,那麼它就是應用程序環境,在這種情況下,您應該使用加載gif。下面是你如何可以輕鬆地檢查,如果環境是因果報應環境
((<any>window).__karma__)
噶__karma__
屬性添加到window
的<condition> ? <truthy result> : <falsy result>
語法只是一個ternary operator。所以基本上這段代碼讀起來,「如果在業力環境中,設置加載gif爲空字符串,否則加載gif」
這是一個簡短的版本:
var loadingGif = null;
if ((<any>window).__karma__ === undefined) {
loadingGif = '';
} else {
loadingGif = require('images/loadin\ g.gif');
}
默認情況下,在瀏覽器中的全局變量window
沒有一個名爲__karma__
屬性。因此,window
的類型使用TypeScript轉換語法<any>
轉換爲any
。
函數require
加載'images/loadin\ g.gif'
文件。
而變量__karma__
來自the Karma test runner。