在 Meteor 的模板中呈现任意嵌套对象的公认方法是什么?

What's the accepted way to render arbitrarily nested objects in a template in Meteor?

我正在 return 将一个对象从模板助手嵌入到任意深度(代表目录树),我想将它作为嵌套列表呈现到我的模板中。由于空格键的理念是将逻辑排除在模板之外,因此它提供的只是 for 循环和 if 语句。这对于遍历大多数对象和数组来说很好,甚至是嵌套到已知深度的对象和数组,但对于任意深度的对象来说,这是不够的。我想出了几个不同的可能策略,none 我觉得其中特别干净:

我一定是忽略了什么。有什么想法吗?

为什么不使用递归模板?

<template name="tree">
  {{value}}

  <ul>
    {{#each children}}
      <li>{{> tree}}</li>
    {{/each}}
  </ul>
</template>

<template name="container">
  {{> tree treeData}}
</template>

Template.container.helpers({
  treeData: function () {
    return {
      value: "level 1",
      children: [
        { value: "level 2" },
        { value: "level 2" },
        { value: "level 2" }
      ]
    }
  }
})