Я использую angularJs версии 1.4.5 и angular-ui-router версии 0.2.18 в моем приложении. Я заметил, что мои функции разрешения выполняются дважды для состояния.
Я также пытался использовать обновленные версии angular-ui-router до 0.4.3, но проблема не решена.
Мое одно из определений состояния следующее:
$stateProvider
.state('app', {
url: '/',
views: {
'': {
resolve: {
usersList: function() {
return MainService.getUsers().UsersData.$promise.then(
function(response) {
return response;
}
);
}
},
templateUrl: 'app/views/main/main.html',
controller: "MainController"
}
}
})
Функции разрешения не должны выполняться дважды. Это должно быть выполнено только один раз.
Я также заметил, что мы сначала проверяем, есть ли у пользователя доступ к странице, а затем перенаправляем на нее. Я создал образец plunkr, в котором показано, что разрешенная функция выполняется дважды: http://next.plnkr.co/edit/evuQuRxYwCNwhAPw?open=lib%2Fscript.js&preview