我正在尝试emblem.js。它是Handlebars编写模板的一个非常好的包装器。但是,docs有点ember.js和handlebars.js依赖。我想在没有Ember的情况下使用Emblem.js,但是没有关于如何编译模板的真实解释。
那么我们可以在没有ember的情况下使用emblem.js(或者更好,没有Handlebars依赖)?我现在这样做的方式,我有这个函数来渲染模板:
function render(target, tmpl, data) {
var source = tmpl.html();
var template = Emblem.compile(Handlebars, source);
var result = template(data);
target.html(result);
}
这是编译Emblem的正确方法吗?它有效,但我有一种直觉,认为有更好的方法可以做到这一点。在Handlebars中,编译行非常相似:
var template = Handlebars.compile(source);
感谢您的回答。
答案 0 :(得分:7)
你实际上是在正确地做到这一点。
Emblem编译为Handlebars运行时,因此需要您指定要编译的Handlebars变体。在您的情况下,因为您不想要Ember功能,所以您需要
Emblem.compile(Handlebars, source);
如果您需要Ember支持,则需要使用Ember.Handlebars变体
Emblem.compile(Ember.Handlebars, source);
我肯定会确保将这些内容添加到文档中。