RangeError:超出最大调用堆栈大小

我想这意味着有一个循环引用,但是对于我的一生,我无法猜测如何解决它。

有人有主意吗?

http://plnkr.co/edit/aNcBcU?p=预览

检查Chrome中的调试控制台(例如),您将看到错误。冒犯的行是

 scope.map = map;

通过以下方式在控制器上对scope.map进行“ $ watched”

$scope.$watch("options.map", function (map) { ... }, true);

回答:

这是因为您要比较对象是否相等,而不是参考。将您的$watch声明更改为此:

$scope.$watch("options.map", function (map) {

if (map === undefined) {

alert("map has no value");

} else {

alert("map is defined");

}

});

以上是 RangeError:超出最大调用堆栈大小 的全部内容, 来源链接: utcz.com/qa/400336.html

回到顶部