Ember(1.1) - 同时显示多条路线的综合视图

时间:2013-11-05 12:39:36

标签: javascript ember.js single-page-application

让我们假设我在Ember应用程序中有两条路线。这些是完全独立的路线名称'第一'和'第二'。它们具有单独的数据模型和不同的操作等等。

到目前为止一切都很好。

如何 - 我们认识到应用程序的这些部分:

  1. 经常被用户以交替的方式使用(首先做一些事情,然后在第二部分做两件事等)
  2. 他们占用了很少的屏幕空间。
  3. 在标准服务器端应用程序中,我们假设我们可以创建一个新的仪表板控制器/视图,并在其他两个控制器中以某种方式真实地处理所有事情并显示结果。关键是 - 组合不会改变“第一个”和“第二个”控制器或视图

    我想做同样的事情,只有在Ember。我创建了this JSBIN来说明问题。

    我知道两个现有的解决方案:

    1. 仅使用现有模型(上面链接的jsbin中的解决方案) - 这种方法的问题很明显 - 不使用视图。
    2. 使用Component方法 - 我认为这不合适,因为这些不是一般的,可重复使用的组件,应该能够独立起来。
    3. 对我来说,理想的方法是使用{{view}}帮助程序以某种方式调用视图,但也传递控制器数据。 (我已经在this jsbin进行了检查,但似乎无法让它从控制器处理数据或正确设置路径模型。)

1 个答案:

答案 0 :(得分:1)

在我看来,您需要使用{{render}}帮助

App.CompositeRoute = Ember.Route.extend({
  model: function(){
    return {
      first: this.modelFor('first'),
      second: this.modelFor('second')
    };
  }
});

在复合材料的把手模板中

{{render "first" model.first}}
{{render "second" model.second}}
祝你好运

相关问题