我在我的node.js應用一個車把/小鬍子佈局文件看起來像這樣:小鬍子{{{局部}}} VS {{>局部}}
{{> header}}
{{> navbar}}
{{{body}}}
{{> footer-user}}
{{> footer}}
由於所有五個線是包括,這兩種類型之間有什麼區別?我可以用{{{header}}}將{{{body}}}替換爲{{> body}}或{{> header}}嗎?它們似乎都不能逃避包含的html。最佳做法是什麼?
我在我的node.js應用一個車把/小鬍子佈局文件看起來像這樣:小鬍子{{{局部}}} VS {{>局部}}
{{> header}}
{{> navbar}}
{{{body}}}
{{> footer-user}}
{{> footer}}
由於所有五個線是包括,這兩種類型之間有什麼區別?我可以用{{{header}}}將{{{body}}}替換爲{{> body}}或{{> header}}嗎?它們似乎都不能逃避包含的html。最佳做法是什麼?
語法{{> name}}
爲泛音,即包括另一個模板:
把手允許通過的partials模板重用。部分是 正常Handlebars模板,可以由其他 模板直接調用。
而{{{name}}}
用於包含數據而不轉義它。如果您希望數據被轉義,請使用{{name}}
:
把手HTML轉義由{{表達式}}返回的值。如果您的 不想讓Handlebars轉義價值,請使用「三重藏匿」{{{。
所以他們是不同的東西。
{{{body}}}
指您的應用程序提供的當前上下文中的body
屬性(或者它可以引用輔助函數,但這裏不是這種情況)。
如果您在代碼中有{{>body}}
,這意味着您有一個名爲body
的模板,您希望處理欄加載。
需要注意的是,如果你使用正確的把手,都諧音需要通過調用Handlebars.registerPartial
(如果你的項目使用express-handlebars
,它確實這一切給你,讓你不會找到這樣的代碼)進行註冊。
把手的文檔可在handlebarsjs.com找到。