似乎孩子们的状态不会等到父州解决。我使用resolve config选项在用户以共同父状态登录系统后很快加载公共数据。然后所有的孩子都可以使用它。我还有一个auth拦截器来检查数据是否已加载。我创建了一个简单的例子来演示我的问题。您不需要用户名或密码登录,只需查看日志即可。应用程序无法导航到主页,因为用户数据尚未加载。我使用http://scotch.io中的一个示例来创建这个简单的应用程序。我想知道如何配置ui路由器,让孩子们等到父母的承诺得到解决。
当在$ stateChangeStart上授权触发app.home状态时,即使我在app.home中加载数据,即使我正在加载app.home的父级数据
function authorize(event, toState, toParams){
if(/^app/.test(toState.name)) {
console.log('toState', toState, 'cache', cache);
if(!cache.hasOwnProperty('user')) {
event.preventDefault();
$state.transitionTo('login');
console.log('data not loaded', event);
}
}
}
实施例