EmberJS:#each循环中的多个出口

时间:2015-03-23 09:51:25

标签: ember.js each outlet

我想完成以下功能:

条目列表 - 单击单个条目时,此条目的详细信息应显示在当前条目下方。

应该可以通过路线访问单个条目,例如tasks/1

我的方法:

  

我尝试通过在{{outlet}}循环中包含#each来解决这个问题,但这并不是很有效。

我找到的所有教程都是基于List -> Details方法的解决方案,只使用一个插座。

我不知道如何解决这个问题。有更好的解决方案吗?

1 个答案:

答案 0 :(得分:0)

这不可能通过路由。最好使用扩展,加载和显示详细信息的组件。

//list.hbs
{{#each task in tasks}}
  {{#task-loader task=task}}
    {{#task-loader-trigger}}
      //list ui
    {{/task-loader-trigger}}
    {{#task-loader-content}}
      //details ui
    {{/task-loader-content}}
  {{/task-loader}}
{{/each}}

//task-loader.js
export default Em.Component.extend({
  isOpen: false
});

//task-loader-trigger.js
export default Em.Component.extend({
  click: function() {
    //toggle isOpen
  }
}};

//task-loader-content.js
export default Em.Component.extend({
  classNameBindings: ['parentView.isOpen:show:hide'],
  didInsertElement: function() {
    //send request and load data
  } 
});

如果您确实想要维护状态(当前打开的任务),请使用查询参数。希望这会有所帮助:)

相关问题