【发布时间】:2015-08-08 00:18:59
【问题描述】:
我试图在 SpaceBars 中有一个forEach,它显示了一些可以为数组中的每个事物按下的按钮。但是,当我按下按钮时,它给了我这个错误:
未捕获的 RangeError:超出最大调用堆栈大小 underscore.js:1025
_.(匿名函数)@underscore.js:1025
EJSON.clone@ejson.js:475
(匿名函数)@ejson.js:494
.each..forEach@underscore.js:113
EJSON.clone@ejson.js:493...同样的东西一段时间...
.each..forEach@underscore.js:113
EJSON.clone@ejson.js:493
(匿名函数)@ejson.js:494
.each..forEach@underscore.js:113
EJSON.clone@ejson.js:493
这是导致错误的findOne:
"click .acceptFriend": function(requester){
currentUserId = Meteor.userId();
requesterUsername = requester;
requesterId = friendRequests.findOne({$and:[{target:currentUserId}, {requester:requesterUsername}]})._id;
Meteor.call("acceptRequest", requesterId, requester);
}
我知道这是friendRequests.findOne,因为我已经在每一行上完成了控制台日志,这就是打破它的那一行。我尝试了几种不同的变体,但似乎在该上下文中对 friendRequests 集合的任何类型的查找都会破坏它。模板的相关部分是这样的:
{{#each getRequests}}
{{requester}} <button class='acceptFriend'>accept</button>
{{/each}}
为什么会出现这个错误,我该如何解决?
【问题讨论】:
标签: javascript meteor spacebars