是什么意思(<any> window).__ karma__

时间:2016-12-07 11:24:52

标签: angular typescript karma-runner

大家好我正在学习angular2,我不知道这行代码的含义是什么:

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

拜托,有人可以帮我吗?

问候!

2 个答案:

答案 0 :(得分:0)

这是一个简短的版本:

var loadingGif = null;

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

默认情况下,在浏览器中,全局变量window没有名为__karma__的属性。因此,使用TypeScript强制语法windowany的类型转换为<any>

函数require加载'images/loadin\ g.gif'文件。

变量__karma__来自the Karma test runner

答案 1 :(得分:0)

只是检查环境是否是业力测试环境。如果是,则不需要加载gif。如果它不是测试环境,那么它就是应用程序环境,在这种情况下,你应该使用加载gif。以下是如何轻松检查环境是否是业力环境

((<any>window).__karma__)

karma将__karma__属性添加到window

<condition> ? <truthy result> : <falsy result>语法只是ternary operator。所以基本上代码读取,&#34;如果在karma环境中,将加载gif设置为空字符串,否则加载gif&#34;