使用URL stateparam中的ID传递整个值

时间:2018-05-30 05:43:57

标签: angularjs angular-ui-router

我成功使用$stateparams在网址中传递了一个ID参数。现在我想使用stateparams传递与该ID相关的整个值,以便我可以在下一个状态中获取值。

这是我传递ID值的视图: -

<div class="td-table" ng-repeat="vms in load_all | filter: Search">
   <div class="info-body"  ui-sref="chart({itemId: vms.ID})">

我想传递vms的整个值。

我的: -

url: '/chart/{itemId}',
params : {
  obj : null  
        }

从州1 控制器传递值: -

$scope.ListAnswer = function(itemId) {
$state.go('chart', {itemId: itemId});
   };

在另一个州控制器上接收ID: -

 $scope.informations = $stateParams.itemId;
    console.log($scope.informations);

我无法传递整个vms值。

1 个答案:

答案 0 :(得分:0)

您必须将$state.go中的“ vms ”对象传递给第二个控制器

$scope.ListAnswer = function(itemId, vms) {
    // pass vms to obj here
    $state.go('chart', {itemId: itemId, obj: vms});
};

在你的州,你必须定义这样的参数,

.state('stateName', {
    url: '/chart/{itemId}',
    params: { obj : null },
    /* ... */
});

然后在状态2控制器中,您可以使用

接收整个vms对象
$stateParams.obj