我尝试使用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
使用的被动上下文存在问题?任何人都知道这是一个错误还是预期的行为?我查看了消息来源,但在那里很快丢失;)
谢谢!
答案 0 :(得分:0)
这是有道理的,因为在渲染模板时,您要向模板追加元素。因此,每次渲染模板时,它都会向自身附加一个元素,导致它无限制地重新渲染。
您确定要Meteor.renderList
呈现列表而不是在模板中使用{{each}}
迭代器吗?