以angular度js将数据从一个页面传递到另一个页面

如何在angularjs中将数据从一个页面传递到另一个页面? 我听说过使用某些服务,但我不知道如何使用它! 下面给出的是我想要执行的function! 在第1页上:

<div class="container" ng-controller="mycontrl"> <label for="singleSelect"> Select Date </label><br> <select nAMe="singleSelect" ng-model="dateSelect"> <option value="2/01/2015">2nd Jan</option> <option value="3/01/2015">3rd Jan</option> </select> <br> Selected date = {{dateSelect}} <br/><br/><br/> <label for="singleSelect"> Select time </label><br> <select nAMe="singleSelect" ng-model="timeSelect"> <option value="9/10">9AM-10AM</option> <option value="10/11">10AM-11AM</option> <option value="11/12">11AM-12PM</option> <option value="12/13">12PM-1PM</option> <option value="13/14">1PM-2PM</option> </select> <button ng-click="check()">Check!</button> <br> Selected Time = {{timeSelect}} <br/><br/> 

用户select时间和date,并用于调用数据库和结果存储在一个variables数组! 控制器:

 var config= { params: { time: times, date:dates } }; $http.get('/era',config).success(function(response) { console.log("I got the data I requested"); $scope.therapist_list = response; }); 

现在我该如何发送这个variables$scope.therapist_list这是一个数组到下一个页面将具有不同的控制器,也是如果服务是使用如何定义它在我的application.js文件

application.js中:

 var firstpage=angular.module('firstpage', []); var secondpage=angular.module('secondpage', []); 

要保存要传输到另一$scope或在路由期间保存的数据,可以使用服务( Service )。 由于该service是一个singleton ,您可以使用它来存储和共享数据。

看看jsfiddle的例子。

 var myApp = angular.module("myApp", []); myApp.controller("ExampleOneController", function($scope, NewsService) { $scope.news = NewsService.news; }); myApp.controller("ExampleTwoController", function($scope,NewsService) { $scope.news = NewsService.news; }); myApp.service("NewsService", function() { return { news: [{theme:"This is one new"}, {theme:"This is two new"}, {theme:"This is three new"}] } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <body ng-app="myApp"> <div ng-controller="ExampleOneController"> <h2> ExampleOneController </h2> <div ng-repeat="n in news"> <textarea ng-model="n.theme"></textarea> </div> </div> <div ng-controller="ExampleTwoController"> <h2> ExampleTwoController </h2> <div ng-repeat="n in news"> <div>{{n.theme}}</div> </div> </div> </body> 

好的,你写一个工厂服务例如模块

 angular .module('dataApp') .factory('dataService', factory); factory.$inject = ['$http', '$rootScope', '$q', '$log']; function factory($http, $rootScope,$q,$log) { var service = { list: getList }; service.therapist_list = null; return service; function getList() { var config= { params: { time: times, date:dates } }; $http.get('/era',config).success(function(response) { console.log("I got the data I requested"); $scope.therapist_list = response; }); $log.debug("get Students service"); $http.get('/era',config).then(function successCallback(response) { service.therapist_list = response.data; $log.debug(response.data); }, function errorCallback(response) { $log.debug("error" + response); }); } } 

将这个模块作为依赖关系添加到您的两个页面应用程序中

 var firstpage=angular.module('firstpage', [dataApp]); var secondpage=angular.module('secondpage', [dataApp]); 

然后在您的控制器中使用该服务

 .controller('homeController', ['$scope', 'dataService', function ($scope, dataService) { }]);