私のページ レイアウト (アプリケーション テンプレート) は次のようになります (簡略化)。
さまざまなルート (オファー リスト + オファーの詳細、顧客リスト + 顧客の詳細) に使用します。リストはサブナビゲーションアウトレットに表示されます。
私のルーターのコード:
App.Router.map(function () {
//...
this.resource('offers', function () {
this.resource('offer', { path: '/:offer_id' });
});
}
私のルート:
App.OffersRoute = Ember.Route.extend({
model: function () {
return App.Offer.find();
},
renderTemplate: function (controller, model) {
this.render('offer-list', {
into: 'application', outlet: 'sub-navigation', controller: 'offers' });
this.render('offer-list-title', { into: 'application', outlet: 'page-title' });
this.render('offer-list-content', { into: 'application' });
}
});
App.OfferRoute = Ember.Route.extend({
model: function (params) {
return App.Offer.find(params.offer_id);
},
renderTemplate: function () {
this.render('offer-title', { into: 'application', outlet: 'page-title' });
this.render('offer-content', { into: 'application' });
}
});
これでこれまでのところ動作します。
http://.../#/offers
リストとタイトル「オファーの概要」と静的な html コンテンツを表示します。リスト内のオファーの 1 つをクリックして、
http://.../#/offers/23
すべて問題ありません。サブナビゲーション領域にオファーのリストが表示され、正しいタイトルとオファーの内容が表示されます。
今私の問題:
に戻ったら
http://.../#/offers
ページ (メニューで #linkTo ヘルパーを使用) の場合、{{outlet}} / コンテンツ領域は空になり (以前の静的 html ではありません)、タイトルはオファーの {{page-title}} のタイトルのままです。 /23 ルート。
OffersRoute で定義されているように、アプリにテンプレートを「再レンダリング」させるにはどうすればよいrenderTemplate()
ですか?
PS: Ember.js 1.0.0-RC.3 を使用しています