2014-04-14 94 views
0

我想在不解析某些變量的情況下製作小鬍子JS輸出內容。例如:小鬍子js輸出小鬍子js代碼

{{block.type}}-{{block.id}}-label-{{element.id}} 

我希望它只是解析塊,這就是爲什麼我給它下面的JSON:

{ block: { type: 'news', id: 23 } } 

最終的結果應該是

news-23-label-{{element.id}} 

但相反它是

news-23-label- 

如何讓它不解析代碼的一部分?我是Mustache JS的新手,我無法在文檔中找到它(評論我瞭解,如果和foreach我理解,但我找不到)。

回答

2

此替代方法對您有幫助嗎? Click爲小提琴。

HTML:

<div id="output"></div> 

<script type="text/html" id="test1"> 
    {{block.type}}-{{block.id}}-label-{{block.elId}} 
</script> 

JS:

var output = $("#output"), 
    template = $("#test1").html(), 
    data = '{ "block": { "type": "news", "id": 23, "elId": "{{element.id}}" } }', 
    html = Mustache.render(template, JSON.parse(data)); 

output.append(html); 

輸出:

news-23-label-{{element.id}} 
+0

這是一個很好的解決方法,但從一開始就擁有它會很棒 –

0

似乎是可能現在。您可以更改並恢復默認分隔符。從文檔的Variables部分例如,你可以在這裏找到https://github.com/janl/mustache.js(見最後三行模板):

查看:

{ 
    "name": "Chris", 
    "company": "<b>GitHub</b>" 
} 

模板:

* {{name}} 
* {{age}} 
* {{company}} 
* {{{company}}} 
* {{&company}} 
{{=<% %>=}} 
* {{company}} 
<%={{ }}=%> 

輸出:

* Chris 
* 
* &lt;b&gt;GitHub&lt;/b&gt; 
* <b>GitHub</b> 
* <b>GitHub</b> 
* {{company}}