0

我构建了一个小型 angular2 应用程序。我在自定义 sharepoint 2013 母版页上直接引用 appcomponent。它加载正确,但是当我打开共享点的设置菜单时, SharePoint 设置菜单 我在 zone.js 部分收到“堆栈空间不足”错误。

Zone.prototype.runTask = function (task, applyThis, applyArgs) {
        task.runCount++;
        if (task.zone != this)
            throw new Error('A task can only be run in the zone which created it! (Creation: ' + task.zone.name +
                '; Execution: ' + this.name + ')');
        var previousTask = _currentTask;
        _currentTask = task;
        var oldZone = _currentZone;
        _currentZone = this;
        try {
            if (task.type == 'macroTask' && task.data && !task.data.isPeriodic) {
                task.cancelFn = null;
            }
            try {
                return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);
            }
            catch (error) {
                if (this._zoneDelegate.handleError(this, error)) {
                    throw error;
                }
            }
        }
        finally {
            _currentZone = oldZone;
            _currentTask = previousTask;
        }
    };

在 catch 块中,错误被捕获。在该错误之后,直接发生第二个错误:“在严格模式下不允许访问函数或参数对象的'调用者'属性”。

以下屏幕截图显示了 Firefox 控制台中的错误。每次通过将元素悬停在共享点设置菜单中都会发生: Firefox 中的 Zone.js 错误

任何建议都会很棒。感谢您的帮助,问候安东

4

1 回答 1

0

这是一个名字冲突的bug,这里已经修复了,https://github.com/angular/zone.js/commit/fcd8be52c2e813e5aa91d2239ab28cbc2d04efa7 你可以试试zone.js 0.78+,就可以了,我已经测试过了。

于 2017-03-14T11:21:45.000 回答