Ich habe eine verschachtelte Routenhierarchie, die ich für meine Anwendung brauche, um Benutzermodellauswahlen zu verfolgen. Ich versuche, eine Hauptanwendungsvorlage zu verwenden und jede Route in einem einzigen Absatz auf dieser Vorlage rendern zu lassen. Dies funktioniert, wenn ich die Routenhierarchie von einem Elternteil zum nächsten durchlaufe.Verschachtelte Routen, die im Browser auf die gleiche Vorlage/Ausgangspausen übertragen werden Zurück Schaltfläche klicken
Sobald Sie jedoch auf die Zurück-Schaltfläche des Browsers klicken, um die Routenhierarchie wieder aufzurufen, wird der Hook der übergeordneten Route renderTemplate nicht ausgelöst. Dies führt dazu, dass das Kind aus der Steckdose ausgehängt wird und nichts zurück in es gerendert wird.
Hier ist ein Beispiel:
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"
})}});
Mit Vorlagen:
<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>
Und hier ist ein jsfiddle mit diesem Code. Klicken Sie auf die Links, um die Routen zu durchlaufen, klicken Sie dann auf die Schaltfläche Zurück des Browsers, und die Anwendungsvorlage wird gerendert, ohne dass eine Verbindung mit der Datei besteht.
Gibt es eine Möglichkeit ein erneuten machen zu zwingen, oder soll ich das über den falschen Weg?