我成功使用$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
值。
答案 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