2010-07-16 75 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'等)。