2010-07-16 74 views
2

谐音我想使用moustache.js呈现以下JSON结构:内容相关的模板/与moustache.js

[ 
    {type:'img', src:'some_url'}, 
    {type:'text', text:'lorem ipsum ...'}, 
    {type:'link', href:'some_url', label:'click here'}, 
    // more entries ... 
] 

我想使每个项目根据类型:IMG应该BR呈现作为<img src="{{src}}">,文本为<p>{{text}}</p>等。这可能与moustache.js或我应该推出自己的模板系统?如果可能,模板将如何显示,我如何扩展JSON结构以作为小胡子视图?

回答

3

是的,这绝对有可能。

你可以做类似

{{#myarray}} {{! loop through array}} 
{{#src}} {{! if you have src it must be an img}} 
    <img src="{{src}}"> 
{{/src}} 
{{#text}} {{! if you have text is must be a paragraph}} 
    <p>{{text}}{{/p}} 
{{/text}} 
{{#href}}} {{! if you have an href is must be an anchor}} 
    <a href="{{href}}">{{label}}</a> 
{{/href}} 
{{/myarray}} 

没有理由在所有延长JSON,只要领域所特有的某种类型的输出。您可以检查该字段是否存在,然后如果存在,则必须以某种方式输出。

你可以做的另一件事情,而不是有一个'类型'字段是具有各种标志的JSON设置基于你的模板(例如'is_image:true','is_anchor:true'等)。