2016-12-07 3 views
1

Привет ребята I'm обучения angular2, и я не знаю, как там смысл этой строки кода:как там смысл (<any> окна) .__ karma__

let loadingGif: string = ((<any>window).__karma__) ? '' : require('images/loadin\ g.gif'); 

Пожалуйста, Can кто-нибудь мне поможет?

С уважением!

ответ

0

Это просто проверка, является ли среда окружающей средой кармы. Если это так, тогда нет необходимости в загрузке gif. Если это не тестовая среда, то это среда приложения, и в этом случае вы должны использовать gif загрузки. Далее, как вы можете легко проверить, если среда является карма среды

((<any>window).__karma__) 

кармы добавить __karma__ свойства window

The <condition> ? <truthy result> : <falsy result> синтаксиса это просто ternary operator. Таким образом, в основном код читает: «Если в среде кармы, установите загрузку gif в пустую строку, иначе загрузите gif»

0

Это короткая версия:

var loadingGif = null; 

if ((<any>window).__karma__ === undefined) { 
    loadingGif = ''; 
} else { 
    loadingGif = require('images/loadin\ g.gif'); 
} 

По умолчанию в браузерах глобальная переменная window не имеют свойство с именем __karma__. Таким образом, тип window отличен до any с использованием синтаксиса отливки TypeScript <any>.

Функция require загружает файл 'images/loadin\ g.gif'.

И переменная __karma__ происходит от the Karma test runner.