[英]How to have helpers in Hogan.js
我計划在下一個項目中使用Hogan.js。 我試着嘗試一下。 我只是陷入困境,無法找到如何使用Hogan.js的助手。 我以前習慣使用Handlebars。 有沒有辦法在Hogan上有類似的東西?
來自hogan.js官方網站 :
Hogan.js是針對小胡子測試套件開發的,因此hloan.js的情況也適用於此處指定的模板。
有關功能的詳細說明,請查看小胡子手冊頁 。 特別是關於lambda表達式的部分。
以下是hogan.js和handlebars.js之間的實現比較示例。
模板
{{#bold}}
Willy is awesome.
{{/bold}}
Hogan.js
{
"bold": function() {
return function(text, render) {
return "<b>" + render(text) + "</b>"
}
}
}
Handlebars.js
Handlebars.registerHelper('bold', function(options) {
return new Handlebars.SafeString(
'<b>' + options.fn(this) + '</b>'
);
});
產量
<b>Willy is awesome.</b>
我一直很難過,直到我在Lambdas上發現了這個Hogan問題
不再需要將渲染傳遞給幫助程序。
模板
{{#foo}}
Lets put this text in a html tag.
{{/foo}}
Hogan.js
"foo": function() {
return function(text) {
return "<p>" + text + "</p>"
}
產量
<p>Lets put this text in a html tag.</p>
我的問題有點困難,因為我有:
模板
{{#foo}}
{{bar}}
{{/foo}}
所以傳遞給幫助者的text
只是"{{bar}}"
Hogan.js
"foo": function() {
return function(text) {
// First get the rendered bar variable
var bar = Hogan.compile(text).render(this));
return "<p>" + bar + "</p>"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.