在SharePoint 2013 MasterPage上使用Angular2会导致Zone.JS错误

时间:2016-11-07 13:08:38

标签: angular sharepoint-2013 zonejs

我构建了一个小的angular2应用程序。我直接在自定义sharepoint 2013主页上引用appcomponent。它正确加载,但当我打开sharepoint的设置菜单 SharePoint Settingsmenue 我在zone.js部分得到了“Out of stack space”错误。

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控制台中的错误。通过将一个元素悬停在sharepoint设置menue中,每次都会发生这种情况: Zone.js Error in Firefox

任何建议都会有所帮助。 谢谢你的帮助,问候 安东

1 个答案:

答案 0 :(得分:0)

这是名称冲突错误,已在此处修复,https://github.com/angular/zone.js/commit/fcd8be52c2e813e5aa91d2239ab28cbc2d04efa7 你可以试试zone.js 0.78+,它会没问题,我已经测试了它。