Угловой js/угловой ui маршрутизатор 0.2.15
Я пытаюсь передать сложный массив js в контроллер, используя $ state.go. Ниже мой код вы можете помочь. выглядит как следующая ошибка бросания кода
Ошибка: [$ injector: unpr] http://errors.angularjs.org/1.2.28/ $ инжектор /unpr? P0 = servicesProvider %20% 3C- %20services
var services = {complex type};
$state.go("linearOfferProcess", {'services': services});
state('linearOfferProcess', {
url: '/linearOfferProcessor',
templateUrl: '/partials/linear_process.html',
controller: 'linearProcessController',
services:
function($stateParams) {
return $stateParams.services;
}
}
angular.module('app').controller('linearOfferProcessController',function($scope) {
$scope.services = services;
});
К сожалению, я не знаю, возможно ли это сделать, но вы можете попробовать сделать это с помощью Factory. Я сделал небольшой макет для вас, в контейнере я храню услуги и создаю уникальный идентификатор для каждого сложного объекта. Поэтому вы можете получить его, когда захотите.
angular.module('app').factory('ServicesContainer', function() {
var counter = 1;
return {
container: {},
add: function(services) {
container[counter] = services;
return counter;
}
};
});
angular.module('app').controller('SomeController', function(ServicesContainer, $state) {
var id = ServicesContainer.add({ complex object });
$state.go('services', {
id: id
});
});
angular.module('app').config(function($stateProvider) {
$stateProvider.state('services', {
url: '/{id}',
onEnter: function(ServicesContainer, $stateParams, $log) {
$log.info('Services', ServicesContainer[$stateParams.id]);
}
});
});
services
чего вы пытаетесь достичь здесь ..