【发布时间】:2014-01-15 01:31:30
【问题描述】:
我有一个简单的模型:
var model = [{
content: "",
type: "photo",
src: "xxx"
}, {
content: "",
type: "quote",
text: "blah"
}];
还有一个简单的模板:
{{if type eq='photo'}}
<img src="{{:src}}" />
<div class="photo-caption">
{{:caption}}
</div>
{{else type eq='quote'}}
<div class="quote-text">
{{:text}}
</div>
{{/if}}
问题是当type 是“引用”时,模板什么也不渲染。如果我将它稍微更改为两个ifs 而不是if-else,它会呈现报价,但也会呈现div class="photo-caption">。我需要它只渲染一个或另一个。我觉得这是一个简单的语法问题,但似乎无法在 JsRender 网站上找到足够的文档来说明如何正确完成。
Here's a fiddle。这两个模板应该表现得完全一样。相反,一个渲染两者,另一个只渲染图像。
【问题讨论】:
-
如果你制作了一个 jsFiddle,你将有更好的机会得到帮助。
标签: javascript templates jsrender