我有一个类似这样的表单:
$scope.models = [{}, {}];
<div classs="" ng-repeat="each_model in models">
<input class="" model="each_model.name"> Name
<input class="" model="each_model.class"> Class
<input class="" model="each_model.city"> City
</div>
目前,我通过将完整数据传递给参数来将 $scope.models 传递给 $stateParams:
$state.go('class_report', {parameters: models});
==我的app.js
.state('class_report', {
url: '/class_report?parameters',
templateUrl: 'views/class_report.html',
})
但是以这种方式传递数据会使 URL 不可读。因此可能的问题是,是否有一种方法可以以可读的方式传递此表单数据。 希望我的问题很清楚。
最佳答案
最好的方法是创建一个服务:
.factory('YourService',[function(){
var models= {};
return {
set: function(data){
models= data;
},
get: function(){
return models;
}
}
}]);
并像这样调用它(将其注入(inject) Controller 后):
var models = YouService.get()
获取数据
YourService.set(data)
设置数据
关于javascript - 如何使用 angular-ui-router 将对象数组传递给 $stateParams 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46024565/