【问题标题】:Using Meteor.renderList inside a template throwing errors在模板中使用 Meteor.renderList 会引发错误
【发布时间】:2012-12-22 21:40:47
【问题描述】:

我尝试使用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 使用的反应式上下文存在问题?任何人都知道这是一个错误还是预期的行为?我查看了来源,但很快就迷失了;)

谢谢!

【问题讨论】:

    标签: meteor


    【解决方案1】:

    这是有道理的,因为在呈现模板时您正在向模板附加一个元素。因此,每次渲染模板时,它都会将一个元素附加到自身,导致它重新渲染自身,无限循环。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-13
      • 2021-05-01
      • 1970-01-01
      • 2015-04-21
      • 1970-01-01
      相关资源
      最近更新 更多