所以我希望将选择列表中的Selected选项从一个jsp页面传递到另一个使用不同控制器的页面。
但我想它不起作用,我不想使用视图或ngRoute
fileList.jsp
<div ng-controller="fileController">
<form name="selectFile" class="form-horizontal" role="form">
<div class="row">
<div class="col-sm-2 col-md-offset-2">
<h4>Select a File<h4>
</div>
<div class="col-sm-3 col-md-offset-0">
<div class="form-group" >
<select name="carrier_id" ng-model="selectedFile.serviceFile" ng-options="file[0] as file[1] for file in fileList" class="form-control">
<option value=""> --Choose-- </option>
</select>
</div>
</div>
<a href="${cp}/admin.jsp">Submit</a> </div>
<br/>
</form>
</div>
admin.jsp
<div ng-controller="mainController">
{{id.serviceFile}}
</div>
admin.js
var app = angular.module('admin', ['viewServices']);
app.controller('mainController', ['$scope','$rootScope', '$http', 'SelectedFile', function($scope, $rootScope, $http, SelectedFile) {
$scope.id = SelectedFile;
}]);
app.controller('fileController', ['$scope','$rootScope', '$http','SelectedFile' , function($scope, $rootScope, $http, SelectedFile){
$http({
method: 'GET',
url :'hrp/filelist'
}).success( function(data,status,headers,config){
data.file_list.splice(0, 1) // to remove header row
$scope.fileList=data.file_list
$scope.selectedFile = SelectedFile;
alert($scope.fileList)
}).error(function(){
alert("error")
})
}]);
service.js
var viewServices = angular.module('viewServices', []);
viewServices.factory('SelectedFile', function() {
return {
serviceFile:''
};
});
包含所有脚本。 所以我只想要mainController应该返回$ scope.id
中的内容请帮助
答案 0 :(得分:0)
您可以使用数据服务
var viewServices = angular.module('viewServices', []);
viewServices.service('SelectedFile', function() {
this.setData = function(data) {
this.data = data;
};
this.getData = function() {
return this.data;
};
});
您可以注入服务并使用它。
无论您想在何处设置数据,请使用viewServices.setData($scope.selectedFile)
在下一页中,无论您想要获取此详细信息,只需在其控制器中注入相同的服务并使用var something = viewServices.getData()
希望这有帮助