在单页应用程序中,有没有办法来回切换到 AngularJS 路由并以与之前显示的相同状态显示它?
通常这将通过在父作用域中绑定数据来实现。虽然这很容易为轻量级视图设置,但在为包含大量图形元素的视图执行此操作时可能会很麻烦。
这是一个例子,记住以前的路由状态可以增强用户体验:在下一页上,想象一下
- 您站在项目 1 上并选择选项卡 2
- 然后转到第 2 项
- 最后切换回第 1 项:不再选择选项卡 2 :-(
http://angular-route-segment.com/src/example/#/section1/1
在路线之间来回切换时,视图似乎被破坏/构建。
一个解决方案是将用户界面的状态存储在父作用域中,但它有以下缺陷:
- 创建一个对象来存储用户界面的所有小细节
- 创建关于 - 保存和 - 将 UI 重置为与以前相同的状态的复杂逻辑
- 在数据模型中存储 UI 状态听起来不像 MVC 风格
使用 div 的 show/hide 存储视图保存状态但不使用路由,切换业务必须手动实现。我喜欢使用路由,因为 1. 浏览器历史导航(在 url 中散列)和 2. 易于设置。
不记住 UI 状态就像让 Chrome 在选项卡之间来回切换时重新加载页面:不是非常用户友好。
有角度方式吗?