【发布时间】:2018-05-25 16:07:26
【问题描述】:
我有一个 Web 应用程序,其中有许多基于 URL 更改的状态。
有一个User Management 页面(包含一个搜索Input 控件),它根据搜索结果列出用户。
单击特定的User 时,用户详细信息将通过不同的状态加载。我输入了Button 以返回User Management 页面。
要求是从User Detail页面返回时,将搜索结果保留在User Management页面中。
请帮我实现这个要求,不要让新的 XHR 再次获取搜索列表。
.state('userManagement', {
url: '/user-management',
templateUrl: 'components/userManagement/UserMgmt.view.html',
controller: 'UserMgmtCtrl',
controllerAs: 'vm'
})
.state('userDetail', {
url: '/user-detail/:userId',
templateUrl: 'components/userManagement/UserDetail.view.html',
controller: 'UserDetailCtrl',
controllerAs: 'vm'
})
我应该有嵌套状态或其他东西来实现这一点吗?
【问题讨论】:
-
您应该使用工厂/服务来跨状态/视图持久化数据。
-
当你使用按钮返回时,你是在做
$state.go()吗?如果是这样,您可以简单地将搜索参数传回您的 userManagement 状态。 -
@Lex 我是路由新手,所以这是一个愚蠢的问题。这不需要另一个 XHR 吗?
-
@Ohjay44 我可以使用服务,这是一个显而易见的答案,但
state routing中是否有任何功能可以直接实现这一点?这就是确切的问题。 -
你是对的,它会的。正如 Ohjay44 所提到的,如果您要存储要使用服务的结果。
标签: angularjs angular-ui-router url-routing