在 AngularUI 路由器中保留父状态
Retain parent state in AngularUI Router
我正在使用AngularJS开发一个应用程序,该应用程序有一个电话簿。状态page.phonebook
包含一个包含用户和公司的列表以及一个包含筛选器的表单。数据通过 ngResource 从后端加载。如果我点击某个用户,我就会进入用户详细信息页面。当我现在返回浏览器(退格键)时,我将返回到电话簿列表,但有一个新的$scope
.这意味着我丢失了所有过滤器、数据等的旧状态。
我想问题是我在page
视图中加载状态page.phonebook.user
,它替换了page.phonebook
状态。
但是,是否有可能以某种方式保留旧状态?这包括滚动位置、过滤器值和来自服务器的数据。
这是我的状态配置:
$stateProvider
.state('page', {
abstract: true,
controller: 'PageController',
templateUrl: 'app/templates/page.html',
})
.state('page.phonebook', {
url: "^/phonebook",
templateUrl: 'app/templates/page.phonebook.html',
controller: 'PhonebookController'
})
.state('page.phonebook.user', {
url: "^/user/:userId",
views: {
'@page': {
controller: 'UserController',
templateUrl: 'app/templates/page.user.html'
}
}
});
你可以很好地维护状态。您需要将过滤器和滚动位置作为状态参数或服务的一部分进行保留。在页面之间导航后,您可以将其检索回来。
相关文章:
- 在mvc应用程序中,在回发时保留最初隐藏的文本框的隐藏或可见状态
- 从数组中删除元素,然后保留其状态以备将来使用,而不使用全局变量
- Javascript-承诺保留为挂起状态
- 如何在提交查询后保留选择状态
- 引导手风琴.保留多个面板的页面加载状态
- 如何在网格视图中保留控件的状态,并在 asp.net 中分页
- 保留未保存的表单:按钮提交事件将重置“Changed_Form”状态
- 如何在页面刷新后保留输入单选按钮的状态
- 如何在页面刷新时保留无线电输入状态
- 在 AngularUI 路由器中保留父状态
- 保留 iframe 页面的状态
- 保留Rails表单验证错误的复选框状态
- HTML/JQuery:如何打开文件;不闪烁新标签;并保留当前页面状态
- 在保留状态的同时调用原型方法
- 如何在ajax调用后保留toggleClass事件状态
- goBack按钮,同时使用react路由器保留url状态
- JQuery Mobile/Webkit-刷新和返回按钮事件后保留Dom状态
- 如何保留Textbox's在asp.net中发布后的状态
- Slidetoggle可在刷新页面时保留当前状态
- 浏览器后退按钮和状态保留