我现在已经找了一段时间,每次提到HTML栏时都会涉及到Ember。问题是我想从Handlebars迁移到HTMLbars,但是我的项目有一个自定义框架。如果所有HTMLbars都这样做,那么内容将作为HTML元素而不是字符串返回,为什么Ember是独家的,并且有人找到了解决这种排他性的方法。
答案 0 :(得分:4)
是的,它可以在没有Ember.js的情况下使用,您可以在demos中分析代码,也可以挖掘tests in HTMLBars repository。
最有趣的代码片段是:
var template = compiler.template(templateSpec);
var env = { dom: new DOMHelper(), hooks: hooks, helpers: {} };
var scope = hooks.createFreshScope();
hooks.bindSelf(env, scope, data);
var dom = render(template, env, scope, { contextualElement: output }).fragment;
output.innerHTML += '<hr><pre><code>' + JSON.stringify(data) + '</code></pre><hr>';
output.appendChild(dom);