HTMLBars は、Handlebars が行ったような関数を生成しません。Handlebars は文字列テンプレート言語でした。文字列をテンプレート関数にコンパイルし、その関数を実行して文字列を生成します。HTMLBars は文字列をテンプレートにコンパイルしますが、テンプレートは文字列を生成せず、DOM ノードを生成します。簡単な答えは、Handlebars で行ったのと同じことを HTMLBars で行うことはできないということです。コードに別の文字列テンプレート ライブラリ (おそらくハンドルバー) を追加するか、この質問に見られるようにビューに HTMLBars テンプレートを処理させることをお勧めします。
興味があれば、コンパイル後の HTMLBars テンプレート オブジェクトは次のようになります (JSBin コンソール ダンプから取得)。
[object Object] {
blockParams: 0,
build: function build(dom) {
var el0 = dom.createDocumentFragment();
var el1 = dom.createTextNode("");
dom.appendChild(el0, el1);
var el1 = dom.createTextNode("");
dom.appendChild(el0, el1);
return el0;
},
cachedFragment: null,
hasRendered: false,
isHTMLBars: true,
isMethod: false,
isTop: true,
render: function render(context, env, contextualElement) {
var dom = env.dom;
var hooks = env.hooks, content = hooks.content;
dom.detectNamespace(contextualElement);
var fragment;
if (env.useFragmentCache && dom.canClone) {
if (this.cachedFragment === null) {
fragment = this.build(dom);
if (this.hasRendered) {
this.cachedFragment = fragment;
} else {
this.hasRendered = true;
}
}
if (this.cachedFragment) {
fragment = dom.cloneNode(this.cachedFragment, true);
}
} else {
fragment = this.build(dom);
}
if (this.cachedFragment) { dom.repairClonedNode(fragment,[0,1]); }
var morph0 = dom.createMorphAt(fragment,0,1,contextualElement);
content(env, morph0, context, "foo");
return fragment;
}
}