pas*_*ine 21
如果您的URL与映射$routeProvider,您可以重新加载控制器调用$route.reload().这样刷新页面时不会破坏$ rootScope.
我已经创建了一个plunker来展示这个.控制器计算页面重新加载的次数.
小智 11
可能无法通过页面重新加载来保留任何javascript变量,而$ rootScope只是一个javascript变量.
看起来你正在寻找的是一种让你的应用程序"从同一点开始"的方式,它是在重新加载页面时留下的.我建议你熟悉国家的概念.每个应用程序都可以被视为一组状态和它们之间的转换.应用程序中发生的每个用户交互或任何其他操作都会更改应用程序的状态或将其保持在相同的状态.例如:单击用户列表中的用户链接会将状态从"查看用户列表"更改为"查看id = 213的用户的用户详细信息",单击"查看用户详细信息为用户ID ="的"编辑"按钮213"将状态更改为"编辑id = 213的用户".当这些转换发生时,变量被赋值,
"从同一点开始"问题所需的两件事是状态管理器以及序列化和存储状态的方法.
作为核心$ router指令之外的状态管理器,您可以使用ui-router.至于使用ui-router序列化和存储状态的方法是通过URL来实现的.ui-router相对于核心$ router的好处是它允许嵌套状态并且通常更灵活.
ui-router还在其github wiki中为你的第二个问题提供了解决方案https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions#how-to-open-a-dialogmodal-at -a-某些状态
| 归档时间: |
|
| 查看次数: |
60827 次 |
| 最近记录: |