-1

Meteor.renderListある種のチャットメッセージをレンダリングするために使用しようとしました。コールバック メソッドを使用してTemplate.foo.rendered、domFragment をリストに追加します。

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

リストをMeteor内に配置する<template name="foo">と、無限ループ/再帰でエラーがスローされます。

Uncaught Error: LiveRange start and end must have a parent 

に直接接続されていない別のテンプレートを使用する必要がありますfoofoo#renderedコールバック内からリストを追加すると、期待どおりに機能します。

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

テンプレートで使用されるリアクティブ コンテキストに問題があると思いますrenderList。これがバグなのか、予想される動作なのか、誰にもわかりますか? 私は情報源を調べましたが、すぐに迷子になりました;)

ありがとう!

4

1 に答える 1

0

テンプレートのレンダリング時にテンプレートに要素を追加するため、これは理にかなっています。したがって、テンプレートがレンダリングされるたびに、テンプレートはそれ自体に要素を追加し、無限にそれ自体を再レンダリングします。

テンプレート自体でイテレータMeteor.renderListを使用するのではなく、リストをレンダリングしてもよろしいですか?{{each}}

于 2012-12-22T13:40:47.197 に答える