我的表格是这样的:
$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无法读取。所以可能有问题,是否有办法以这样的方式传递此表单数据,使其可读。 希望我的问题很明确。
答案 0 :(得分:0)
所以可能有问题的是,有没有办法以这样的方式传递这个表单数据它应该是可读的
您可以传递原始值,如字符串,整数和布尔值
但是,您可以将此值存储在module.service
下的某个唯一键下,并将此键传递到您的网址中。之后,您可以轻松加载它。
例如:
$scope.models = [{}, {}];
var uniqueKey = SomeService.setData($scope.models);
$state.go('class_report', {key: uniqueKey});
在其他控制器中:
$scope.models = SomeService.getData($stateParams.key);
其中SomeService
代码段为:
app.service('SomeService',function () {
var self = this;
self.models = {};
self.setData = function(models){
self.models[key] = models;
return key;
}
self.getData = function(key){
return self.models[key]
}
})
答案 1 :(得分:0)
最好的方法是创建服务:
.factory('YourService',[function(){
var models= {};
return {
set: function(data){
models= data;
},
get: function(){
return models;
}
}
}]);
并像这样调用它(在控制器中注入它之后):
var models = YouService.get()
获取数据
YourService.set(data)
设置数据