我的狀態如下:「invocables」必須是一個對象
.state('core.recover', {
url: '/recover',
controller: 'RecoverPasswordCtrl',
templateUrl: 'views/tmpl/recoverAccount/recover-password.html'
})
我想,當我進入到這個狀態裝載模板,在這種情況下,之前檢查的東西我想調用的API如果承諾成功,則檢查是否會繼續並顯示模板,否則會將用戶重定向到另一個狀態。
我試圖做到這一點在控制器的頂部,但我總是看到模板了一會兒,然後將其重定向我,所以我試圖用決心,在這個崗位:
AngularJS | handle routing before they load
由於以下:
.state('core.recover', {
url: '/recover',
controller: 'RecoverPasswordCtrl',
resolve: function(recoverAccountService, $location, $state, $q) {
var deferred = $q.defer();
deferred.resolve();
recoverAccountService.get({email:$location.search().email, verificationKey:$location.search().verificationKey})
.$promise.then(function (result) {}).catch(function (err) {
$state.go("candidature.pre");
});
return deferred.promise;
},
templateUrl: 'views/tmpl/recoverAccount/recover-password.html'
})
,但它沒有工作,我得到這個錯誤在瀏覽器的控制檯:
Error: 'invocables' must be an object
我該如何解決這個問題?