我正在使用最新版本的 Ember.js。我有一个使用 flot.js 显示条形图的 Ember 应用程序。视图绑定到单例对象控制器以动态更新图表。我在这里有一个简单的 jsbin 演示:http: //jsbin.com/edosaf/2/edit。请注意,此演示创建 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 的 card_id 使用不同的条形图数据来扩展这个演示。路由看起来像 #/card/:card_id。我对如何将我的 ChartView 绑定到我的 Card ObjectController 的不同实例感到困惑。我的想法是有一个 Cards ArrayController 来管理所有的信用卡对象。然后有一个 Card ObjectController 用于管理将绑定到 ArrayController 和 ChartView 的活动卡片。
绑定: Cards ArrayController => Card ObjectController => Chart View
我创建了另一个 jsbin,试图实现所需的路由和 Cards ArrayController(应用程序不起作用):http: //jsbin.com/edosaf/4/edit
如何将视图绑定到由 ember 路由器创建的控制器实例?对于这个例子,你会建议如何构建 ember 应用程序以使用路由 #/card/:card_id 将 CardController 对象绑定到 ChartView?