更新:截至 2014 年 2 月,Meteor 支持响应式 SVG,因此无需解决方法。
流星 0.5.9
我想创建一组形状,集合中的每个文档一个。我可以在模板中一次创建一个形状,但不能在 {{#each 循环}} 内。
这有效:
<Template name="map">
<svg viewBox="0 0 500 600" version="1.1">
<rect x="0" y="0" width="100" height="100" fill={{color}}/>
</svg>
</Template>
Template.map.color = function() {
return "green";
};
这不会:
<Template name="map">
<svg viewBox="0 0 500 600" version="1.1">
{{#each colors}}
<rect x="0" y="0" width="100" height="100" fill={{color}}/>
{{/each}}
</svg>
</Template>
Template.map.colors = function() {
return [{color: "red"}, {color: "blue"}];
}
我尝试使用 {{#each}} 创建的任何内容都不会显示,即使我可以手动创建它们,即使 Meteor 通过模板插入的属性也是如此。
我还尝试将单个对象 {color: "red"} 发送到模板并使用 {{#with colors}},但这也不起作用。除了 SVG,我还在模板中添加了 plain s 以确保信息正确地到达模板,并且这些都按预期工作,使用 {{#each}} 和 {{#with}}。
我应该能够做我想做的事吗?