ハンドルバーを使用してノードの階層をレンダリングしようとしています。require.jsとHandlebarsのプラグインを使用して、関連するテンプレートをプルします。パーシャルを再帰的に呼び出す試みは、惨めに失敗します。
サンプルデータ
var data = {
nodes: [
{
title: "node 1",
nodes: [
{title: "node 1-1"},
{title: "node 1-2"}
]
},
{
title: "node 2"
}
]
};
電話が必要
require(['hbs!templates/linker/sub'], function(tpl) {
console.log(tpl(data));
});
基本的なテンプレート
テンプレート/リンカー/サブ
{{#if nodes}}
<ul>
{{#each nodes}}
<li>{{title}}
</li>
{{/each}}
</ul>
{{/if}}
出力(成功)
<ul>
<li>node 1</li>
<li>node 2</li>
</ul>
部分的な
templates/linker/ sub2を含むテンプレート。前のテンプレートを、部分的なものとして呼び出します。
{{#if nodes}}
<ul>
{{#each nodes}}
<li>{{title}}
{{> templates_linker_sub }}
</li>
{{/each}}
</ul>
{{/if}}
出力(成功)
<ul>
<li>node 1
<ul>
<li>node 1-1</li>
<li>node 1-2</li>
</ul>
</li>
<li>node 2</li>
</ul>
再帰的な部分的な
templates/linker / sub3を含むテンプレートで、自分自身を部分的なものとして呼び出します
{{#if nodes}}
<ul>
{{#each nodes}}
<li>{{title}}
{{> templates_linker_sub3 }}
</li>
{{/each}}
</ul>
{{/if}}
出力(失敗)
require.jsがタイムアウトし、出力がありません。
この設定で再帰的パーシャルを使用できると仮定するのは間違っていますか?または、テンプレートを作成する際に何かを見逃しましたか?