AngularJS:当用户转到子视图时,保留视图的状态

AngularJS:当用户转到子视图时,保留视图的状态,angularjs,Angularjs,在AngularJS中,有没有一种方法可以在调用之间保持模型和视图的状态 比如说,您有一个主视图,它显示一个或多个信息表;用户已操纵视图,并将过滤器和排序顺序等应用于此主视图中显示的信息。然后,用户在此主视图上选择一个项目,并转到另一个子视图,该子视图显示有关用户所选项目的信息;如果用户决定返回到前一个视图,我希望该视图保持与以前相同的状态,其过滤器等保持不变 我目前正在使用这里描述的技术:我使用服务保留模型状态,然后在重新创建服务时将该服务注入控制器。这是AngularJS方法,还是有更好的方

在AngularJS中,有没有一种方法可以在调用之间保持模型和视图的状态

比如说,您有一个主视图,它显示一个或多个信息表;用户已操纵视图,并将过滤器和排序顺序等应用于此主视图中显示的信息。然后,用户在此主视图上选择一个项目,并转到另一个子视图,该子视图显示有关用户所选项目的信息;如果用户决定返回到前一个视图,我希望该视图保持与以前相同的状态,其过滤器等保持不变


我目前正在使用这里描述的技术:我使用服务保留模型状态,然后在重新创建服务时将该服务注入控制器。这是AngularJS方法,还是有更好的方法在调用之间保存模型/视图状态

您可以在发生更改时更新
$location.path()
和/或
$location.search()
,并让主视图尊重这些值。@Yoshi我不知道$location,我来看看。谢谢你的建议。IMHO服务是最好的选择,使用$location听起来像是一个顽固的解决办法,不能让事情变得像angularjs一样way@maurycy我不同意,使用
$location
的好处是视图独立于应用程序状态。您可以复制/存储url,以便以后使用或在需要时维护深层链接。只有在没有任何持久性的情况下使用服务才能使SPA变得非常脆弱。另外,如果不想直接在控制器中使用
$location
,它很容易隐藏在一些定制服务后面。我通常创建一个按需注入的商店服务。我在其中使用HTML5存储。