在Angular UI中是否有可能在解析和加载状态控制器之前有一条规则可能导致从一个状态重定向到另一个状态?
假设我有以下内容:
$stateProvider.state('questions', {
url: '/questions/',
resolve: {
getAllTheData: questionResolveFunction
}
}).state('questions.page1', {
url: 'page1',
views: {
'questionView': {
templateURL: 'template.html',
controller: 'Page1Ctrl'
}
}
}).state('questions.page2', {
url: 'page2',
views: {
'questionView': {
templateURL: 'template.html',
controller: 'Page2Ctrl'
}
}
});
用户可以选择导航到第2页。但是我不希望他们在完成第1页之前查看第2页。确定他们是否可以查看此页面所需的信息来自于getAllTheData解决方案。父状态,因此我不能使用泛型$ urlRouterProvider.rule()因为如果有人从应用程序外部直接进入此状态,它将在第一次调用时不知道数据。这是我想要的结果:
index.html / questions / page2 - >完成第1页=真 - >转到第2页 index.html / questions / page2 - >完成第1页=假 - >转到第1页(甚至不尝试解析或加载第2页)
给出的示例是问题的一个非常简化的版本,但应涵盖所有内容,如果不是,请告诉我。在此先感谢您的帮助。