我有一个模板,我想将其输出捕获为一个字符串,我可以存储在模型上。例如:
我正在使用Ember Rails,因此我没有脚本标记
<person>
<name>{{name}}</name>
<children>
{{#each children}}
<kid><name>{{name}}</name></kid>
{{/each}}
</children>
</person>
然后我想,也许是在行动中:
actions: {
save: function(person){
person.xml_representation = Handlebars.render_template("person_as_xml.handlebars", person);
person.save();
}
}
显然我编写了render_template的语法,但这基本上就是我想要做的。我该怎么办?
答案 0 :(得分:1)
var source = "<person><name>{{name}}</name><children>{{#each children}}<kid><name>{{name}}</name></kid>{{/each}}</children></person>";
var template = Handlebars.compile(source);
var data = { "name": "Alan", "children": [{"name": "Jimmy", "age": "12"}, {"name": "Sally", "age": "4"}]};
var result = template(data);
我相信这是你想要完成的。这将输出:
<person>
<name>
Alan
</name>
<children>
<kid>
<name>
Jimmy
</name>
</kid>
<kid>
<name>Sally</name>
</kid>
</children>
</person>
我还没有把你的HBS文件放到这个字符串中,但是我认为你可以找到一种在你的应用程序中有意义的方法。