Ember.js-如何将视图绑定到路由器创建的控制器实例

Ember.js-如何将视图绑定到路由器创建的控制器实例,ember.js,ember-router,Ember.js,Ember Router,我正在使用最新版本的Ember.js。我有一个Ember应用程序,它使用flot.js显示条形图。视图绑定到单一对象控制器以动态更新图表。我在这里有一个简单的jsbin演示。请注意,此演示创建cardController对象,而不是扩展它。以下是相关代码: App.cardController = Ember.ObjectController.create({ id: 1, name: 'Visa', chartData: [ [2011, 450], [2012, 550], [2

我正在使用最新版本的Ember.js。我有一个Ember应用程序,它使用flot.js显示条形图。视图绑定到单一对象控制器以动态更新图表。我在这里有一个简单的jsbin演示。请注意,此演示创建cardController对象,而不是扩展它。以下是相关代码:

App.cardController = Ember.ObjectController.create({
  id: 1,
  name: 'Visa',
  chartData: [ [2011, 450], [2012, 550], [2013, 320] ]
});

App.ApplicationView = Ember.View.extend({
    templateName: 'application',
    chartValuesBinding: 'App.cardController.chartData'
});
我需要更改上面的代码以扩展cardController,而不是在将其绑定到视图时创建它

我想根据传递到url的卡片id,使用不同的条形图数据来扩展这个演示。路由看起来像#/card/:card_id。我不知道如何将我的图表视图绑定到我的card ObjectController的不同实例。我的想法是使用Cards ArrayController来管理所有信用卡对象。然后使用Card ObjectController管理活动卡,该卡将绑定到ArrayController和图表视图

绑定: 卡片阵列控制器=>卡片对象控制器=>图表视图

我创建了另一个jsbin,试图实现所需的路由和一个Cards ArrayController(应用程序不工作):

如何将视图绑定到由ember路由器创建的控制器实例?在本例中,您建议如何设计ember应用程序,使用路由#/card/:card_id将CardController对象绑定到图表视图

如何将视图绑定到由ember路由器创建的控制器实例

通常,每个视图都有一个匹配的控制器单例。例如,在
ApplicationView
中,您可以通过
controller
属性访问singleton
ApplicationController

当您需要从视图访问其他内容时,应该通过它的控制器来完成。然后使用
需要
阵列连接控制器

ApplicationController = Ember.Controller.extend({
  needs: ['card']
});

ApplicationView = Ember.View.extend({
  chartValuesBinding: 'controllers.card.chartData'      
});

谢谢你,迈克!我不知道控制器可以在视图中这样引用。