Handlebars helper:编译模板并保留@root
Handlebars helper: Compile template and keep @root
我正在使用 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": {...}
}
有什么方法可以在调用 template(...)
时保留 @root
注意:这是一个非常简化的示例。我知道我也可以使用 {{>path/to/template .}}
见https://github.com/wycats/handlebars.js/issues/945:
template(context, {data: {root: options.data.root}})
我正在使用 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": {...}
}
有什么方法可以在调用 template(...)
@root
注意:这是一个非常简化的示例。我知道我也可以使用 {{>path/to/template .}}
见https://github.com/wycats/handlebars.js/issues/945:
template(context, {data: {root: options.data.root}})