次のような 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}}
対応するアイテムを警告するクリックアクションで注文のリストを出力します。これはうまくいきます。
私がやりたいことは、クリックされたアイテムを別のビューに表示することです。最終的には、注文の詳細が表示されたフローティング ダイアログを作成することを目標としています。私は残り火が初めてで、これをどのように実装すべきかわかりません。クリックされた注文を警告する機能selectItem
がありますが、これを別のビューにリンクして注文の詳細を印刷する必要があります。
選択したアイテムを対応するビューを持つ別のコントローラーに保存し、selectItem
クリックしたときにこれを更新する必要がありますか? または、ordersController から別のビューを更新できますか? どんなアドバイスでも大歓迎です。