[英]What's the difference between Block helper and Partials in Handlebars.js
[英]handlebars.js - difference between #each block and #block
這兩個handlebars.js模板之間有什么區別?
{{#myblock}}
{{this}}
{{/myblock}}
和
{{#each myblock}}
{{this}}
{{/each}}
鑒於沒有為“ myblock”定義幫助程序,因此這兩個模板(從我看到的內容)可以操作並輸出相同的模板。 除了可讀性之外,這兩個模板之間是否還有其他區別?
理解這一點的更簡單方法是使用井號(#)作為幫助器之后的內容。 助手是一個函數,它處理帶有可選參數的調用,這些參數是從模板中的助手聲明之后得出的。
{{#each myblock}}
{{this}}
{{/each}}
在#each的情況下,它調用對在這種情況下'myblock'提供的參數進行迭代的函數(幾乎在所有情況下都是數組),並將輸出為每個元素生成的內容。 這成為該迭代中的每個元素。
類似地,在第一個示例中,由於myblock跟隨#號,因此它成為了一個助手。
{{#myblock}}
{{this}}
{{/myblock}}
現在,由於沒有名稱為myblock的預定義幫助程序,您可以使用Handlebars.registerHelper()創建自定義幫助程序,如下所示。
Handlebars.registerHelper('myblock', function(context, options) {
return options.fn(context);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.