在模板内部使用Meteor.renderList抛出错误

时间:2012-09-12 20:19:25

标签: meteor

我尝试使用Meteor.renderList来呈现某种聊天消息。我使用Template.foo.rendered回调方法将domFragment添加到列表中。

Template.foo.rendered = ->
    list = this.find "ul"
    list.appendChild fragmet

如果我将列表放在<template name="foo">内,Meteor会在无限循环/递归中抛出错误。

Uncaught Error: LiveRange start and end must have a parent 

我必须使用另一个与foo没有直接关联的模板。从foo#rendered回调中追加列表,而不是按预期工作。

Template.foo.rendered = ->
    document.getElementById("foo").appendChild fragmet # element with id foo not part of template foo

我认为,模板和renderList使用的被动上下文存在问题?任何人都知道这是一个错误还是预期的行为?我查看了消息来源,但在那里很快丢失;)

谢谢!

1 个答案:

答案 0 :(得分:0)

这是有道理的,因为在渲染模板时,您要向模板追加元素。因此,每次渲染模板时,它都会向自身附加一个元素,导致它无限制地重新渲染。

您确定要Meteor.renderList呈现列表而不是在模板中使用{{each}}迭代器吗?