我有一个使用Angular
的{{1}}应用程序,每当我刷新页面时都会遇到问题。我正在使用嵌套视图,命名视图来构建应用程序。每当我刷新页面时,ui-router
都不会重新加载当前状态,只会将页面留空。
页面加载ui-router
等于
$state.current
我正在通过Object {name: "", url: "^", views: null, abstract: true}
从.json
文件中读取导航并循环显示各州。所以这就是我能展示的:
$http
为嵌套的json对象中的每个项执行此代码。如果还有其他任何有用的信息,请告诉我。
答案 0 :(得分:5)
有一个问题:AngularJS - UI-router - How to configure dynamic views有一个答案,说明了如何做到这一点。
发生了什么事?刷新时,会更快地评估
驱动if($numrows = 0 and isset($_POST['search'])){
,然后注册状态。我们不得不推迟。解决方案由url
原生功能UI-Router
正如文件中所述:
停用 (或启用) 推迟更改位置更改。
如果您希望自定义同步URL的行为(例如,如果您希望延迟转换但保留当前URL),请在配置时调用此方法。然后,在运行时,在配置自己的
deferIntercept(defer)
事件处理程序后调用$urlRouter.listen()
。
简而言之,我们将在配置阶段停止URL处理:
$locationChangeSuccess
一旦我们从JSON配置了所有动态状态,我们将在.run()阶段重新启用它:
app.config(function ($urlRouterProvider) {
// Prevent $urlRouter from automatically intercepting URL changes;
// this allows you to configure custom behavior in between
// location changes and route synchronization:
$urlRouterProvider.deferIntercept();
})
链接的plunker
中有Q & A答案 1 :(得分:1)
我不知道你的所有路线是怎样的......但是如果刷新子状态的页面,你需要传递父状态的所有参数才能正确解析。