Angular 4 为 zone.js 提供了一个全局常量

标签 angular zone

我正在将 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>

关于Angular 4 为 zone.js 提供了一个全局常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45691804/

相关文章:

reporting-services - 折线图中的条件背景颜色

node.js - 当使用来自不同本地主机端口的 GET api 时,本地主机上的 Angular 收到 404 - CORS 问题?

javascript - Angular - 从服务重新填充表单输入

更新后的 Angular 2 我收到此错误 : Cannot read property 'zone' of undefined

c# - 无偏时间系统 C#

angular - 从 window.object 访问 Angular NgZone 实例

Angular 2 : dynamic selector property

angular - 如何以 Angular 订阅纯文本/文本响应

angular - 使用 git 或 gitLab 的持续集成部署 Angular 应用程序

angularjs - ZoneAwarePromise 已被覆盖