Angular 4 把一个全局常量提供给 zone.js
Angular 4 put a global constant available to zone.js
我正在使用 Angular(我认为是 4)和 typescript 以及 zone.js (0.8.4)。我通过 "polyfills.ts" 文件导入 zone.js。当我查看zone.js的源代码时,有这样的代码:
var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;
我的问题是,如何在 _globals 中设置这个变量?
谢谢
global
是浏览器中的 window
对象,如下所示:
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory() :
typeof define === 'function' && define.amd ? define(factory) :
(factory());
}(this, <------------ `this` points to `window` in global scope
(function () {
...
});
所以你可以这样设置变量:
window['__Zone_disable_IE_check'] = true;
但是您需要在加载 zone.js
之前执行此操作。如果在 index.html
中加载 zone.js
,请添加以下内容:
<script>
window['__Zone_disable_IE_check'] = true;
</script>
<script src="node_modules/zone.js/dist/zone.js"></script>
就我而言,我不得不取消注释 polyfills 文件中的以下行:
(window as any).__Zone_enable_cross_context_check = true;
项目 Angular 版本:Angular 6.0.1
我正在使用 Angular(我认为是 4)和 typescript 以及 zone.js (0.8.4)。我通过 "polyfills.ts" 文件导入 zone.js。当我查看zone.js的源代码时,有这样的代码:
var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;
我的问题是,如何在 _globals 中设置这个变量?
谢谢
global
是浏览器中的 window
对象,如下所示:
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory() :
typeof define === 'function' && define.amd ? define(factory) :
(factory());
}(this, <------------ `this` points to `window` in global scope
(function () {
...
});
所以你可以这样设置变量:
window['__Zone_disable_IE_check'] = true;
但是您需要在加载 zone.js
之前执行此操作。如果在 index.html
中加载 zone.js
,请添加以下内容:
<script>
window['__Zone_disable_IE_check'] = true;
</script>
<script src="node_modules/zone.js/dist/zone.js"></script>
就我而言,我不得不取消注释 polyfills 文件中的以下行:
(window as any).__Zone_enable_cross_context_check = true;
项目 Angular 版本:Angular 6.0.1