Handlebars helper:编译模板并保留@root

时间:2015-01-15 15:50:13

标签: handlebars.js handlebarshelper

我正在使用grunt-compile-handlebars来编译我的把手,我遇到了问题,@root对象在我使用后发生了变化

[...]
handlebars.compile(template);
template(context.data);
[...]

所以当我的json对象就像

{
    "template": "path/to/template",
    "data": {
        "greetings": {...}
    }
 }

这始终是我的@root对象。

我有类似的东西:

var handlebars = require('../../node_modules/grunt-compile-handlebars/node_modules/handlebars')     ;

module.exports = function(context) {

    var template = handlebars.partials[context.template];

    template = handlebars.compile(template);

    return new handlebars.SafeString( template(context.data) );

};
{{helper .}}

现在我的@root对象是:

"data": {
    "greetings": {...}
}

我可以在调用@root

时保留template(...)

注意:这是一个非常简单的例子。我知道我也可以使用{{>path/to/template .}}

1 个答案:

答案 0 :(得分:0)

请参阅https://github.com/wycats/handlebars.js/issues/945

template(context, {data: {root: options.data.root}})