繁体   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