在没有路由器的视图上指定控制器和模型

时间:2013-04-13 23:08:57

标签: ember.js

我有一个简单的应用程序,它使用ember-data从RESTful Web服务加载并使用路由显示数据以指定模型。

App.AreasRoute = Ember.Route.extend({
    model: function() {
        return App.Area.find();
    }
});

然后我可以使用{{#each content}}

在把手模板中渲染数据

但是我想在页面上显示来自不同模型的第二个数据区域。我首先创建了一个View,然后使用{{view App.AnotherView}}将视图渲染为我的应用程序模板的一部分,这正确地呈现了视图。

但是,这个视图没有路由,因此我无处可告诉它从哪里获取数据。我该怎么做?

1 个答案:

答案 0 :(得分:1)

加载其他内容的最佳位置是路径的setupController挂钩。

例如,如果您将路线定义为

App.AreasRoute = Ember.Route.extend({
    model: function() {
        return App.Area.find();
    },
    setupController: function(controller) {
        controller.set('someArea', App.Area.find('area_id'));
    }
});

然后,您的模板中Area可以访问ID为area_id的{​​{1}}模型。