首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Hogan.js中使用助手

如何在Hogan.js中使用助手
EN

Stack Overflow用户
提问于 2013-12-13 12:50:02
回答 2查看 1.5K关注 0票数 6

我计划在我的下一个项目中使用Hogan.js。我试着用它。我只是被困住了,无法找到如何在Hogan.js中使用助手。我以前经常用把手。有什么办法可以在霍根身上找到类似的东西吗?

EN

回答 2

Stack Overflow用户

发布于 2015-02-24 13:54:51

来自hogan.js官方网站

hogan.js是针对胡子测试套件开发的,因此这里指定的模板中适用的所有内容也适用于Hogan.js。

请查看络腮胡以获得对特性的全面解释。尤其是关于lambda表达式的部分。

下面是hogan.js和handlebars.js实现的示例比较。

模板

代码语言:javascript
复制
{{#bold}}
    Willy is awesome.
{{/bold}}

Hogan.js

代码语言:javascript
复制
{
    "bold": function() {
        return function(text, render) {
            return "<b>" + render(text) + "</b>"
        }
    }
}

Handlebars.js

代码语言:javascript
复制
Handlebars.registerHelper('bold', function(options) {
    return new Handlebars.SafeString(
        '<b>' + options.fn(this) + '</b>'
    );
});

输出

代码语言:javascript
复制
<b>Willy is awesome.</b>
票数 2
EN

Stack Overflow用户

发布于 2016-02-26 18:36:19

在我找到关于兰巴达的霍根问题之前,我一直很难处理这个问题

它不再需要传递给助手。

模板

代码语言:javascript
复制
{{#foo}}
    Lets put this text in a html tag.
{{/foo}}

Hogan.js

代码语言:javascript
复制
"foo": function() {
    return function(text) {
        return "<p>" + text + "</p>"
    }

输出

代码语言:javascript
复制
<p>Lets put this text in a html tag.</p>

我的问题更难一点,因为我有:

模板

代码语言:javascript
复制
{{#foo}}
    {{bar}}
{{/foo}}

因此,传递给助手的text就是"{{bar}}" Hogan.js

代码语言:javascript
复制
"foo": function() {
    return function(text) {
// First get the rendered bar variable
        var bar = Hogan.compile(text).render(this));
        return "<p>" + bar + "</p>"
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20566975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档