【问题标题】:Implementing an accordian-type view in Ember.js在 Ember.js 中实现手风琴式视图
【发布时间】:2014-03-23 18:12:11
【问题描述】:

在一个玩具应用程序中,我有一个显示所有帖子标题的“帖子”模板。当您单击每个标题时,我不想直接进入“显示”视图,而是直接展开该帖子的其余内容。

我考虑过让postRoute 重复使用postsRoute 并设置一个标志,然后在车把模板中对其进行检查以吐出其余的帖子内容。

什么是首选的“Ember-ish”方法,可以让资源的单一视图与其索引视图内联呈现在正确的位置?

【问题讨论】:

    标签: javascript ember.js conventions


    【解决方案1】:

    我建议在PostsController 上定义一个itemController,它可以对单个帖子对象执行操作。 然后,在您的模板中定义在 itemController 上切换属性的操作(例如 toggleBody)。您可以使用此属性来显示或隐藏每个帖子的正文:

    App.PostsController = Ember.ArrayController.extend
      itemController: 'post'
    
    App.PostController = Ember.ObjectController.extend
      showBody: no
      actions:
        toggleBody: ->
          @toggleProperty('showBody')
          return false
    
    <script type="text/x-handlebars" data-template-name="posts">
    <ul>
      {{#each}}
        <li>{{title}} <span {{action toggleBody}} class='label'>Toggle</span>
        {{#if showBody}}        
          <div>{{body}}</div>
        {{/if}}
        </li>
      {{/each}}
    </ul>
    </script>
    

    另请参阅this jsFiddle 以获得工作演示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-23
      相关资源
      最近更新 更多