Я пытаюсь использовать функцию разрешений в моем провайдере состояния i-router. Я настроил его следующим образом:Угловой JS-маршрутизатор не разрешает вызов службы
app.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', function ($stateProvider, $urlRouterProvider, $locationProvider) {
...
$stateProvider.state('expositions', {
url: '/Expositions',
views: {
"container": {
templateUrl: '/views/expositions.html',
resolve: {
expositions: function ($http) {
return $http.get('/api/site/expositions').then(
function (response) {
console.log("DATA", response.data);
return response.data;
},
function (error) {
console.log("ERROR", error);
})
}
}
}
}
})
...
}
В этом случае при нажатии на ссылку Экспозиции решимость не называется, и навигация не выполняется: ничего не происходит.
Я также попытался установить это с завода (услуга ресурсов) следующим образом:
службаapp.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', function ($stateProvider, $urlRouterProvider, $locationProvider) {
...
$stateProvider.state('expositions', {
url: '/Expositions',
views: {
"container": {
templateUrl: '/views/expositions.html',
resolve: {
expositions: function (Resources) {
console.log("DATA", Resources);
return Resources.expositions();
}
}
}
}
})
...
}
Ресурс определяется в отдельном файле следующим образом:
resourcesService.js
(function() {
'use strict';
angular
.module('site')
.factory('Resources', ['$resource',
function ($resource) {
return $resource('/api/site/:action/:id', {}, {
...
expositions: {
method: 'GET',
params: { action: "expositions" },
isArray: true
//transformResponse: function (data) {
// return angular.fromJson(data).list
//}
},
...
});
}
]);
})();
Кроме того, в этом случае ничего не происходит, и функция решительность не называется.
Что мне не хватает?
Спасибо за все!