Ich habe folgendes ein:Wie kann ich automatisch zum letzten ausgewählten untergeordneten Status wechseln, wenn ich nur den übergeordneten Status mit dem UI-Router anzeigen lasse?
var admin = {
name: 'admin',
url: '/admin',
views: {
'menu': {
templateUrl: '/Content/app/admin/partials/menu.html',
},
'content': {
templateUrl: function (stateParams) {
var content = localStorage.getItem('ls.adminPage');
if (content != null && content != "") {
return '/Content/app/admin/partials/' + content + '.html';
} else {
return '/Content/app/common/partials/empty.html';
}
}
}
}
};
var adminContent = {
name: 'admin.content',
parent: 'admin',
url: '/:content',
views: {
'[email protected]': {
templateUrl: function (stateParams) {
localStorage.setItem('ls.adminPage', stateParams.content);
return '/Content/app/admin/partials/' + stateParams.content + '.html';
},
}
}
}
Was passiert, ist, dass, wenn ein Benutzer zuvor auf die Seite /admin/xxx
wird dann das nächste Mal /admin
ausgewählt wird, wird es wieder die /admin/xxx
Seite zurückzukehren.
Allerdings ist dies ein Chaos, da die Browser-URL /admin
zeigt und der Status nicht korrekt eingestellt ist.
Gibt es eine Möglichkeit, einen untergeordneten Zustand zu speichern und dann so zu haben, dass der Benutzer beim Übergang zum letzten bekannten untergeordneten Status in den Browser wechselt und diese URL in der Browseranzeige angezeigt wird.
Haben Sie OnEnter Funktionen für UI-Router angeschaut? Ich frage mich nur, ob Sie den Namen des zuletzt besuchten Admin-Child-States im lokalen Speicher speichern können, wie Sie es bei der Vorlage getan haben, und wenn es einen gibt, müssen Sie $ state.go ('last-child-state') eingeben. –