我有以下设置:
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: {
'content@': {
templateUrl: function (stateParams) {
localStorage.setItem('ls.adminPage', stateParams.content);
return '/Content/app/admin/partials/' + stateParams.content + '.html';
},
}
}
}
发生的情况是,当用户以前访问过该/admin/xxx
页面时,下一次/admin
被选中时,它将再次返回该/admin/xxx
页面。
但是从视觉上看,这是一团糟,因为浏览器 URL 显示为/admin
并且状态设置不正确。
有什么方法可以存储一个子状态然后拥有它,以便当用户浏览到父级时,它将转换到最后一个已知的子状态并在浏览器中显示该 URL?