【问题标题】:Recursively render handlebars templates using Ember CLI使用 Ember CLI 递归渲染车把模板
【发布时间】:2014-11-22 21:26:00
【问题描述】:

我有一个类似树的 cmets 结构,我想在 Ember CLI 中使用把手渲染。每个评论都可以有无限的回复,每个回复都有无限的回复,就像你在 reddit 上的一样。我有以下文件'cmets.hbs'。

<div class="comments">
{{#each comments}}
    <div class="comment">
        <span><b>{{author}}</b></span> <span>{{showdown-addon text}}</span>
    </div>

    {{recursively-call-this-template-somehow-with-new-context replies}}
{{/each}}
</div>

任何人都知道如何使用 Ember CLI 做到这一点?我见过一些使用 {{> template-name}} 的解决方案,但还没有成功。

【问题讨论】:

  • 我发现您很少对问题的答案提供反馈。如果答案有帮助,您可以投票表示感谢,如果它解决了您的问题,则将其标记为已接受。

标签: javascript ember.js handlebars.js ember-cli


【解决方案1】:

一种方法是使用ArrayController,如果回复列表可用,它会再次呈现自己。

示例:http://emberjs.jsbin.com/yamudi/1/edit?html,js,output

【讨论】:

  • 请注意the render helper creates a singleton controller。我认为在这个特定示例中这并不重要,但如果您决定添加到“CommentsController”,它可能会成为一个问题。
  • 是的,但是如果您提供model arg(示例提供),则会创建一个新的控制器实例:D
  • 哇,我一定跳过了那部分。感谢您指出了这一点。 :)
  • 感谢您的帮助,这个例子让我走上了正轨。虽然当我在 Ember CLI 中实现它时。我不得不对 _comment 模板进行一些修改。第一次迭代值包含在模型对象 {{model.author}} 中,但所有后续迭代都像 {{author}} 一样访问,当我完全完成我的示例时,我将对我的原始问题添加一个编辑
猜你喜欢
  • 2014-08-17
  • 1970-01-01
  • 2019-12-13
  • 2013-05-14
  • 1970-01-01
  • 2016-01-08
  • 2017-07-09
  • 1970-01-01
  • 2014-01-31
相关资源
最近更新 更多