簡體   English   中英

如何在Hogan.js中找到幫手

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM