Ember.js-如何将视图绑定到路由器创建的控制器实例
我正在使用最新版本的Ember.js。我有一个Ember应用程序,它使用flot.js显示条形图。视图绑定到单一对象控制器以动态更新图表。我在这里有一个简单的jsbin演示。请注意,此演示创建cardController对象,而不是扩展它。以下是相关代码: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
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
属性访问singletonApplicationController
当您需要从视图访问其他内容时,应该通过它的控制器来完成。然后使用需要
阵列连接控制器
ApplicationController = Ember.Controller.extend({
needs: ['card']
});
ApplicationView = Ember.View.extend({
chartValuesBinding: 'controllers.card.chartData'
});
谢谢你,迈克!我不知道控制器可以在视图中这样引用。