我有一个模板帮助器,可以访问我的应用程序中的集合。但是我已经关闭了反应性:
Template.homeBoxGroupsTpl.helpers({
boxes: function () {
return Boxes.find({},
{
sort: {
order: 1
},
reactive: (Session.get("homeCanvasTplReactive") || false)
}
);
}
});
在我的页面上插入一个新元素后,它会更新集合,Meteor会在浏览器控制台中抛出错误:
Error: Exception from Tracker recompute function: reporters.js?1429904535194:67
Error: Error: Bad index in range.getMember: 16
at DOMRange.getMember (http://tidee-vm/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:586:11)
at http://tidee-vm/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:2727:45
at Object.Tracker.nonreactive (http://tidee-vm/packages/tracker.js?6d0890939291d9780f7e2607ee3af3e7f98a3d9c:593:12)
at Object.Blaze.Each.eachView.onViewCreated.eachView.stopHandle.ObserveSequence.observe.changedAt (http://tidee-vm/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:2721:17)
at http://tidee-vm/packages/observe-sequence.js?0532a9dd76dd78f543eb4d79a1e429df186d8bde:313:21
at Function._.each._.forEach (http://tidee-vm/packages/underscore.js?0a80a8623e1b40b5df5a05582f288ddd586eaa18:164:22)
at diffArray (http://tidee-vm/packages/observe-sequence.js?0532a9dd76dd78f543eb4d79a1e429df186d8bde:299:5)
at http://tidee-vm/packages/observe-sequence.js?0532a9dd76dd78f543eb4d79a1e429df186d8bde:147:9
at Object.Tracker.nonreactive (http://tidee-vm/packages/tracker.js?6d0890939291d9780f7e2607ee3af3e7f98a3d9c:593:12)
at http://tidee-vm/packages/observe-sequence.js?0532a9dd76dd78f543eb4d79a1e429df186d8bde:121:15
有关如何调试此问题的任何想法,还是Meteor问题?
答案 0 :(得分:0)
Meteor的错误消息在所有浏览器中都很糟糕,但是Chrome,因为Meteor希望堆栈跟踪包含错误消息,但这只能由Chrome完成。我讨厌这样说,但是在调试Meteor应用时你可能不得不使用Chrome。 :(
答案 1 :(得分:0)
我没有解决方案,但我也遇到了同样的错误,并且能够解决我的情况,所以发布它,希望它可以帮助你调试问题(虽然这似乎没有任何帮助)。原因是.length
的使用。我有一个大型数组(数组名称:数据),为了缩短它(减少arrray的长度),我分配了data.length = 5
,它以某种方式导致错误,并且流星助手没有按预期工作。 删除该行对我有用,我通过for循环完成了数组的缩短,并将前五个元素存储在另一个变量中。
答案 2 :(得分:0)
我也遇到过类似的问题:(
我能够通过为Tempaltes
提供唯一的名称,以及.js文件和Helpers
对象名称中相应的Mongo DataBase
对象的方法来解决它。
希望它也适合你:)
答案 3 :(得分:0)
对于我来说,我在其中一个流星周期中发现ReactionProduct.selectedVariant()
为null
时会收到此错误。
我刚刚处理了null
案例:
if (ReactionProduct.selectedVariant() === null) {
return;
}
它正在为我工作。