В моем угловом пути образца, я пытаюсь сделать:Resolve в угловых маршрутизаторе UI
(function(angular){
'use strict';
angular
.module('appRouter',['ui.router'])
.controller('routerCtrl',function(myResolveServ,resolveData){
console.log(resolveData);
})
.service('myResolveServ',function($http){
this.getResolveData = function($http){
var root = 'https://jsonplaceholder.typicode.com';
return $http.get(root+'/posts/1').then(function(response){
return response.data;
});
}
})
.config(function($stateProvider,$urlRouterProvider){
$stateProvider
.state('settings.profile',{
url:'/profile',
templateUrl:'templates/profile.html'
})
.state('settings.account',{
url:'/account',
templateUrl:'templates/account.html',
controller:'routerCtrl',
controllerAs:'vm',
resolve:{
resolveData :function(myResolveServ){
var data = myResolveServ.getResolveData();
}
}
});
$urlRouterProvider.otherwise('/settings/profile');
});
})(window.angular);
Но этот код не работает. Я не могу перейти на страницу с учетными записями /settings/account
.
Ошибка не очевидна в консоли.
Что я делаю неправильно?
UPDATE
Я знаю, что это работает:
resolve:{
resolveData : function($http){
var root = 'https://jsonplaceholder.typicode.com';
return $http.get(root+'/posts/1').then(function(response){
return response.data;
});
}
}
Вы говорите, что «идти к URL/настройки/счета» - где это точно? settings.account - это состояние, у которого есть URL-адрес/учетная запись, и какой из них/settings/account? – rrd