大家好我正在学习angular2,我不知道这行代码的含义是什么:
let loadingGif: string = ((<any>window).__karma__) ? '' : require('images/loadin\ g.gif');
拜托,有人可以帮我吗?
问候!
答案 0 :(得分:0)
这是一个简短的版本:
var loadingGif = null;
if ((<any>window).__karma__ === undefined) {
loadingGif = '';
} else {
loadingGif = require('images/loadin\ g.gif');
}
默认情况下,在浏览器中,全局变量window
没有名为__karma__
的属性。因此,使用TypeScript强制语法window
将any
的类型转换为<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;