Ho una gerarchia di route nidificata che mi serve per la mia applicazione per tenere traccia delle selezioni del modello utente. Sto provando a utilizzare un modello di applicazione principale e a rendere ogni route in una singola presa su quel modello. Funziona mentre attraverso la gerarchia del percorso da genitore a figlio.Il rendering dei percorsi nidificati nello stesso modello/interruzioni di output sul pulsante di scelta del browser indietro
Tuttavia, una volta fatto clic sul pulsante Indietro del browser per tornare alla gerarchia del percorso, l'hook di renderingTemplate del percorso principale non viene attivato. Ciò si traduce nel fatto che il bambino viene sganciato dalla presa e nulla viene restituito.
Ecco un esempio:
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"
})}});
Con i modelli:
<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>
Ed ecco un jsfiddle con questo codice. Fare clic sui collegamenti per attraversare i percorsi, quindi fare clic sul pulsante Indietro del browser e il modello dell'applicazione viene visualizzato con niente agganciato alla propria presa.
C'è un modo per forzare una ri-renderizzare, o sto andando su questo nel modo sbagliato?