如何在ember中创建递归的hbs代码?

时间:2016-11-18 09:50:39

标签: recursion ember.js handlebars.js

我有一个包含以下

的hbs文件
//some ohter code
-------------------------------------
    {{#each items}}
            <li>
                {{name}}
                {{#if items}}
                    <ul>
                        //partial should go here
                    </ul>
                {{/if}}
            </li>
        {{/each}}
---------------------------------------------------

我希望以same section递归替换//partial should go here。我怎样才能做到这一点?感谢任何帮助

1 个答案:

答案 0 :(得分:2)

Ember曾经拥有paritalrenderinclude模板标签,但他们正试图摆脱这些标签。 现在,可能最好的方法是使用组件。如果您使用的是ember-cli,只需打开终端并输入ember g component my-include即可。它会生成* .js和* .hbs文件(根据您是否使用pod来命名)。 然后在新创建的* .hbs文件中多次放置要使用的模板代码,然后在现有模板代码中:

{{#if items}}
      <ul>
        {{my-include}}
      </ul>
{{/if}}

您可能需要查看:https://guides.emberjs.com/v2.9.0/components/defining-a-component/了解更多信息

您还可以查看此sample working twiddle