私はlast postで解決したと思っていましたが、| var |ループ内でループを処理しました。同じ配列を3回繰り返したときにハンドルバーが間違ったものを出力する
しかし、私は3番目のものを内側に投げた場合、最初の2つが一致すれば3番目のループは実行されません。
例コードを見ると、2つの組み合わせごとに3つのバリエーションがあるはずですが、最初の2つが赤/赤のように一致すると、{{#../../colors as | color3 | }}部分。
var source = document.getElementById("entry-template").innerHTML;
var template = Handlebars.compile(source);
var context = {colors: ['red','blue', 'green']};
var html = template(context);
document.getElementById("output").innerHTML = html;
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.11/handlebars.js"></script>
<script id="entry-template" type="text/x-handlebars-template">
output:
{{#colors as |color1|}}
{{#../colors as |color2|}}
{{color1}}/{{color2}};
{{#../../colors as |color3|}}
{{color1}}/{{color2}}/{{color3}};
{{/../../colors}}
{{/../colors}}
{{/colors}}
</script>
<pre id="output">
</pre>
https://codepen.io/samkeddy/pen/BmNYrZ