【发布时间】:2014-11-07 13:47:18
【问题描述】:
子状态的解析正在延迟父状态的加载
我的状态配置为:
$stateProvider
.state('a', {
url: '/a/:aid',
controller: 'ACtrl',
templateUrl: 'a.html'
})
.state('a.b', {
url: '/b/:bid',
controller: 'BCtrl',
templateUrl: 'b.html',
resolve: {
DataService: 'DataService',
data: function(DataService) {
return DataService.getData(); //Returns a http promise
}
}
});
index.html:
<nav>
....
</nav>
<div ui-view></div>
a.html 有:
<sidebar>
...
</sidebar>
<div ui-view></div>
b.html 有:
<div ng-repeat="d in data">{{ d }} </div>
当我点击 url http://example.com/a/1/b/1 a.html 时不会立即加载。 我似乎状态“a”正在等待子状态“a.b”的解析完成。
我想要做的是加载 a.html(显示侧边栏和一个空的 div)可能带有加载图标,而子状态解决其依赖关系。 [编辑] 请注意,我的状态“a”没有解析,但它仍在等待其子项解析。我想主要避免这种情况
一旦所有内容都加载完毕,当我更改 bid 时,我希望它在孩子解析新数据时再次显示加载图标。
这是我第一次发布问题,所以如果我不够清楚,请提前道歉。
【问题讨论】:
-
据我所知Chris T (UI-Router 团队成员) cmets 中的一个,计划在下一个版本中进行
-
感谢 Radim Köhler,你给了我一些希望。我会检查他们的 github 页面,看看我是否可以验证这一点。
-
嗨拉尔夫,我也遇到了完全相同的问题。父母等待它的孩子决心完成。你能确认他们是否正在 Github 上进行修复吗?另外,你最终做了什么作为替代方案?我的主要问题是整个视图被阻止渲染,因为子解析在我看来是一个主要错误。
标签: angularjs angular-ui-router