ユーザーモデルの選択を追跡するためにアプリケーションに必要なネストされたルート階層があります。私は、メインのアプリケーションテンプレートを使用して、各ルートをそのテンプレート上の単一のアウトレットにレンダリングさせようとしています。これは、ルート階層を親から子へと横断するときに機能します。ネストされたルートは、ブラウザのバックボタンで同じテンプレート/アウトレットブレークにレンダリングされます。
しかし、ブラウザの戻るボタンをクリックしてルート階層を元に戻すと、親ルートのrenderTemplateフックは起動しません。この結果、子供はアウトレットから引き離され、何もそれに戻されることはありません。テンプレートと
App = Ember.Application.create({});
App.Router.map(function(){
this.resource("animals", function(){
this.resource("pets", function(){
this.route('new')
})
})
});
App.PetsView = Ember.View.extend({
templateName : 'wild/pets'
});
App.AnimalsRoute = Ember.Route.extend({
renderTemplate: function() {
this.render({
into: "application",
outlet : "A"
})
}});
App.PetsRoute = Ember.Route.extend({
renderTemplate: function() {
this.render({
into: "application",
outlet : "A"
})}});
App.PetsNewRoute = Ember.Route.extend({
renderTemplate: function() {
this.render({
into: "application",
outlet : "A"
})}});
:
は、ここでの例です
<script type="text/x-handlebars" data-template-name="application">
<h1>{{#linkTo "animals"}}Hello from Ember.js</h1>{{/linkTo}}
{{outlet A}}
</script>
<script type="text/x-handlebars" data-template-name="animals">
{{#linkTo "pets"}}This is animals list{{/linkTo}}
</script>
<script type="text/x-handlebars" data-template-name="wild/pets">
{{#linkTo "pets.new"}}This is pets list{{/linkTo}}
</script>
<script type="text/x-handlebars" data-template-name="pets/new">
This is pet creation
</script>
そして、ここでは、このコードでjsfiddleです。リンクをクリックして経路をたどり、ブラウザの戻るボタンをクリックすると、アプリケーションテンプレートは何も出力されずにレンダリングされます。
再描画を強制する方法はありますか、私は間違った方法このことについてつもり?