2014-07-14 36 views
0

有人能告訴我如何更改mustache.js的默認分隔符?缺省的分隔符是{{var}},我想將其更改爲{|var|}如何更改mustache.js的默認分隔符?

我有以下代碼:

$('body').append(Mustache.render(this.template, data)); 

非常感謝

+0

https://github.com/janl/mustache.js/#set-delimiter –

回答

0

在app.js中,使用下面代碼片段中的最後一行。第2供參考:

// view engine setup 
app.set('views', path.join(__dirname, 'views/templates')); 
app.set('view engine', 'hjs'); 
app.locals.delimiters = '{| |}'; 
3

由於per the documentation

設置分隔符標記開始等號並將標籤分隔符從{{和}}更改爲自定義字符串。 考慮以下人爲的例子:

* {{ default_tags }} 
{{=<% %>=}} 
* <% erb_style_tags %> 
<%={{ }}=%> 
* {{ default_tags_again }} 

所以對於你的情況,你要使用{|var|}你很可能:

{{={| |}=}} 

注意,這裏是another example that changes the default delimiter to triple-mustaches

+0

感謝凱西,所以我需要添加任何內容的代碼行:$( 'body')。append(Mustache.render(this.template,data));或者我只是更新模板中的小鬍子標籤?我困惑如何鬍鬚lib知道我使用自定義分隔符? –

+0

文檔和示例似乎意味着這就是您所需要的。注意上面代碼中的等號;你從字面上將每個模板標籤的開始/結束設置爲一個新值。它可能會檢查分配的方向和當前分配的值,以檢查要更改的模板標籤的哪一部分。合理? –

+0

爲什麼downvote?這不再是標準方法嗎? –

1

我認爲一個JavaScript示例也會有所幫助。

var template = $('#template').html(); 
var parseTags = new Array(); 
parseTags.push("[["); 
parseTags.push("]]"); 
Mustache.parse(template,parseTags); // optional, speeds up future uses 
var rendered = Mustache.render(template, {name: "<%Luke%>"}); 
+0

請不要轉儲代碼,也許[編輯]你的答案,並添加一些細節如何這一點的代碼可以幫助 –