Можно ли передать данные в состояние с помощью ui-router?
У меня есть этот призыв к государству:
self.$state.go('heat',
{
subjectId: self.sus.subject.id,
examId: self.exs.exam.examId,
testId: self.test.testId,
questionNumber: 1
})
Есть ли способ, которым я могу передать массив данных в это состояние, и если да, то как я могу получить эти данные в файле конфигурации моего маршрутизатора?
2 ответа
Как показывает ответ Майка, вы можете добавить params
в конфиге. Я просто хотел бы уточнить это.
В вашем app.js
, вы должны указать параметры, которые вы отправляете
.state('statename',{
url:'/state',
templateUrl:'js/apps/xPage/templates/something.html',
params:{'parameter1':null,'parameter2':null},
controller:'stateCtrl'
});
В вашем controller
, вы можете определить свои данные, как это
$scope.parameter1=[];
$scope.parameter2=[];
Вы можете добавить в свой массив, как это
$scope.parameter1.push(x);
$scope.parameter2.push(y);
Наконец, отправьте ваши значения, как это
$state.go('results',{'parameter1':$scope.parameter1,'parameter2':$scope.parameter2});
Можете добавить params
в конфиге состояния и укажите значения в $state.go
, Затем вы можете получить доступ к этим значениям с $stateParams
оказание услуг.