Tracker重新计算函数的异常:错误:range.getMember中的错误索引:

时间:2015-02-27 18:18:53

标签: meteor

Meteor更新后(不确定哪个可能是旧版本),但是在使用不同的livehistory重新订阅后会触发所描述的错误。

Meteor.subscribe(“amon”,livehistory,type)

Exception from Tracker recompute function: Error: Bad index in range.getMember: 80
    at DOMRange.getMember (http://clochette.cow.lu:3000/packages/blaze.js?efa68f65e67544b5a05509804bf97e2c91ce75eb:586:11)
    at http://clochette.cow.lu:3000/packages/blaze.js?efa68f65e67544b5a05509804bf97e2c91ce75eb:2572:43
    at Object.Tracker.nonreactive (http://clochette.cow.lu:3000/packages/tracker.js?517c8fe8ed6408951a30941e64a5383a7174bcfa:513:12)
    at Object.eachView.stopHandle.ObserveSequence.observe.changedAt (http://clochette.cow.lu:3000/packages/blaze.js?efa68f65e67544b5a05509804bf97e2c91ce75eb:2567:17)
    at http://clochette.cow.lu:3000/packages/observe-sequence.js?2fd807ea171ead273b9e6458607cb226012d9240:284:21
    at Function._.each._.forEach (http://clochette.cow.lu:3000/packages/underscore.js?0a80a8623e1b40b5df5a05582f288ddd586eaa18:164:22)
    at diffArray (http://clochette.cow.lu:3000/packages/observe-sequence.js?2fd807ea171ead273b9e6458607cb226012d9240:270:5)
    at http://clochette.cow.lu:3000/packages/observe-sequence.js?2fd807ea171ead273b9e6458607cb226012d9240:147:9
    at Object.Tracker.nonreactive (http://clochette.cow.lu:3000/packages/tracker.js?517c8fe8ed6408951a30941e64a5383a7174bcfa:513:12)
    at http://clochette.cow.lu:3000/packages/observe-sequence.js?2fd807ea171ead273b9e6458607cb226012d9240:121:15 

4 个答案:

答案 0 :(得分:0)

我没有解决方案,但我也遇到了同样的错误,并且能够解决我的情况,所以发布它,希望它能帮助某人。原因是.length的使用。我有一个大型数组(数组名称:数据),为了缩短它(减少arrray的长度),我分配了data.length = 5,它以某种方式导致错误,并且流星助手没有按预期工作。 删除该行对我有用,我通过for循环完成了数组的缩短,并将前五个元素存储在另一个变量中。

答案 1 :(得分:0)

对我来说,创建一个固定大小的空数组(在帮助器中)是罪魁祸首:

x = new Array(n). 

替换为:

x = Array.apply(null, Array(n)).map(function () {})

解决了这个问题。 魔法...

答案 2 :(得分:0)

当我遇到此错误时,我使用的是“硬编码”阵列。该错误是由一个空数组成员(两个逗号分隔对象而不是单个逗号)引起的。解决这个问题解决了这个问题。所以 - 检查你的数据。

答案 3 :(得分:0)

如果使用delete删除数组中间的某个元素,然后以反应方式使用此数组,也可能会发生这种情况。该问题与可能解决此最近删除的元素的数组元素的增量循环有关。使用splice代替delete