Можно ли передать данные в состояние с помощью 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 оказание услуг.

UI Router Docs

Другие вопросы по тегам