Meteor #each块中断#constant区域

时间:2013-12-10 09:43:44

标签: javascript meteor handlebars.js

我有一个补丁的D3圆环,所以我要求保留svg。我发现#constant区域就像一个魅力,直到我尝试使用它周围的#each块来制作多个甜甜圈:

尽可能简单(甜甜圈在这里返回单品)

{{#with donuts}}
<div id="donut-container-{{emoticonName}}" class="donut-container">
{{#constant}}
    <img id="img-{{emoticonName}}" src="/images/emoticons/{{emoticonName}}.png"   class="emoticon">
    <svg id="svg-{{emoticonName}}" class="svg-donut"></svg>
{{/constant}}
</div>
{{/with}}

这就像魅力 - 补间表现为svg不会被重新渲染。

然而,当我这样做时(甜甜圈在这里返回[],其中包含单个项目):

{{#each donuts}}
<div id="donut-container-{{emoticonName}}" class="donut-container">
{{#constant}}
    <img id="img-{{emoticonName}}" src="/images/emoticons/{{emoticonName}}.png"   class="emoticon">
    <svg id="svg-{{emoticonName}}" class="svg-donut"></svg>
{{/constant}}
</div>
{{/each}}

常量区域不再起作用,重新渲染而不是保留。请注意,在这两种情况下,我仍然只渲染一个甜甜圈以将问题隔离到#each块。

任何有关此的帮助将不胜感激。 感谢。

2 个答案:

答案 0 :(得分:0)

因此,有时候只是以足够清晰的形式提出问题以便其他人理解的行为,会让答案跳出来......

{{#constant}}
{{#each donuts}}
<div id="donut-container-{{emoticonName}}" class="donut-container">  
    <img id="img-{{emoticonName}}" src="/images/emoticons/{{emoticonName}}.png"   class="emoticon">
    <svg id="svg-{{emoticonName}}" class="svg-donut"></svg>
</div>
{{/each}}
{{/constant}}

似乎很明显我几乎感到尴尬:D

答案 1 :(得分:0)

尝试删除常量标记并使用meteor --release template-engine-preview-5.5运行meteor。这将允许您在仍然使用D3时使用反应性。一旦Meteor UI发布(可能与2014年初的Meteor 1.0一起发布),您可以再次使用meteor运行应用程序。