5

我现在正在尝试会徽.js。这是一个非常好的 Handlebars 包装器来编写模板。但是,文档有点依赖 ember.js 和 handlebars.js。我想在没有 Ember 的情况下使用 Emblem.js,但没有关于如何编译模板的真正解释。

那么我们可以在没有 ember 的情况下使用会徽.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);

感谢您的回答。

4

1 回答 1

7

你实际上做得对。

Emblem 编译为 Handlebars 运行时,因此需要您指定要编译到的 Handlebars 变体。在你的情况下,因为你不想要 Ember 功能,你会想要

Emblem.compile(Handlebars, source);

如果你想要 Ember 支持,你需要使用 Ember.Handlebars 变体

Emblem.compile(Ember.Handlebars, source);

我一定会确保将这些内容添加到文档中。

于 2013-05-15T14:07:12.993 回答