我可以将数据传递到使用ui-router的状态吗?

时间:2016-03-01 23:48:37

标签: angularjs angular-ui-router

我打电话给一个州:

self.$state.go('heat',
                {
                    subjectId: self.sus.subject.id,
                    examId: self.exs.exam.examId,
                    testId: self.test.testId,
                    questionNumber: 1
                })

有没有办法可以将数据数组传递给此状态,如果有,我怎样才能在路由器配置文件中获取该数据?

2 个答案:

答案 0 :(得分:1)

正如Mike建议的那样,您可以在配置中添加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});

答案 1 :(得分:0)

您可以在状态配置中添加params,并在$state.go中指定值。然后,您可以使用$stateParams服务访问这些值。

UI Router Docs