异常

2015-04-24 35 views
7

我有我的应用程序访问集合模板帮手,但我已经关闭了反应:异常

Template.homeBoxGroupsTpl.helpers({ 
    boxes: function() { 
     return Boxes.find({}, 
      { 
       sort: { 
        order: 1 
       }, 
       reactive: (Session.get("homeCanvasTplReactive") || false) 
      } 
     ); 
    } 
}); 

后,我在我的网页上插入一个新的元素,这反过来又更新收集,流星将在浏览器控制台抛出错误:

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 

任何想法如何调试这一点,或者是一个流星问题?

+1

你的reporter.js的第67行是什么? –

+0

reporter.js只是报告错误“来自Tracker重新计算函数的异常”。 – JoeTidee

回答

0

流星的错误信息在所有浏览器中都很糟糕,除了Chrome之外,因为Meteor希望堆栈跟踪包含错误信息,但这只能由Chrome完成。我讨厌这样说,但在调试Meteor应用程序时,您可能不得不使用Chrome。 :(

0

我没有解决方案,但我也遇到了同样的错误,并能解决我的情况,所以张贴它,希望它可以帮助你调试问题(虽然这似乎很难帮助)。原因是使用.length。我有一个大数组(名称为array:data),并且为了缩短(减少了arrray的长度),我分配了data.length = 5,这在某种程度上导致了错误,还有流星帮助器没有按预期工作。删除该行工作对我来说,我完成阵列的缩短由一个for循环和存储第一五行不同的变量。

0

我都面临着类似的问题太:(

我能够通过为Tempaltes指定唯一的名称来解决它,其对应的Helpers对象在.js文件中的方法和Mongo DataBase对象的名称。

希望它会为你工作了:)

0

对于我来说,我是从它说ReactionProduct.selectedVariant()收到此错误是null对流星的周期之一。

我只是处理的null情况下用:

if (ReactionProduct.selectedVariant() === null) { 
    return; 
} 

,它的工作为我。