JsRender if-else 什么都不渲染

Ste*_*ins 4 javascript templates jsrender

我有一个简单的模型:

var model =  [{
    content: "",
    type: "photo",
    src: "xxx"
}, {
    content: "",
    type: "quote",
    text: "blah"
}];
Run Code Online (Sandbox Code Playgroud)

和一个简单的模板:

{{if type eq='photo'}}
    <img src="{{:src}}" />
    <div class="photo-caption">
        {{:caption}}
    </div>
{{else type eq='quote'}}
    <div class="quote-text">
        {{:text}}
    </div>
{{/if}}
Run Code Online (Sandbox Code Playgroud)

问题是模板在type“引用”时根本不呈现任何内容。如果我将它稍微更改为两个ifs 而不是 an if-else,它会呈现引用,但也会呈现div class="photo-caption">. 我只需要它来渲染一个或另一个。我有一种感觉,这是一个简单的语法问题,但似乎无法在 JsRender 站点上找到有关如何正确完成此操作的足够文档。

这是一个小提琴。这两个模板的行为应该完全相同。相反,一个渲染两者,另一个只渲染图像。

Ste*_*ens 5

我知道了:

{{if type == 'quote' }}
    <div>
        {{: text }}
    </div>     
{{else type == 'photo'}}   
    <div> 
        {{: src }} 
     </div>   
{{/if}}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/4QzZX/2/