我有一个 ember.js 模型和控制器设置,如下所示:
//model
App.Order = Ember.Object.extend({
content: null,
create: function(data) {
this.set('content', data);
return this._super();
}
});
//orders controller
App.ordersController = Ember.ArrayController.create({
content: [],
init: function() {
var self = this;
var orders = [];
$.getJSON('js/data.json', function(data) {
data.forEach(function(item) {
var order = App.Order.create(item);
orders.push(order);
});
self.set('content', orders);
});
},
selectItem: function(data) {
alert(data);
}
});
有以下观点:
{{#each App.ordersController}}
<div {{action selectItem target="App.ordersController"}}>{{order_number}}</div>
{{/each}}
它会打印出一个订单列表,点击操作会提醒相应的项目。这工作正常。
我想要做的是在单独的视图中显示一个单击的项目,最终目标是创建一个显示订单详细信息的浮动对话。我是 ember 的新手,不知道应该如何实施。我有一个selectItem
提醒点击订单的功能,但我需要将其链接到单独的视图并打印订单详细信息。
我应该将所选项目存储在具有相应视图的单独控制器中并在selectItem
单击时更新它吗?或者我可以从ordersController 更新一个单独的视图吗?非常感谢任何建议。