在控制器之间共享数据(持久)

时间:2016-01-20 17:14:03

标签: javascript angularjs

假设我有两个不同的视图,每个视图都有自己的控制器,在第一个视图中我想要检索我在输入文本中写入的数据,当我单击提交按钮时,加载第二个视图从第一个检索到的数据。

我可以使用服务,在第二个视图中显示数据,但刷新页面后,再也没有了。

我错过了什么吗?

这是我的代码:

Application.service("checkingcity", function($rootScope, $timeout){
  var city = {};
  city.data = false;
  city.sendData = function(data){
    this.data = data;
    $timeout(function(){
         $rootScope.$broadcast('data_shared');
      },100);
  };
  city.getData = function(){
    return this.data;
  };
  return city;
});

控制器从第一个视图的输入文本中检索数据:

Application.controller("ControllerOne", function($scope, checkingcity){

  $scope.checkCity = function(){
    if($scope.City){
           checkingcity.sendData($scope.City);
         }
         else{
           alert("No data");
          }
   }
});

从第一个视图/控制器读取数据的第二个控制器:

Application.controller("ControllerTwo", function($scope, checkingcity){

    $scope.town = '';
    $scope.$on('data_shared',function(){
            var town =  checkingcity.getData();
        $scope.town = town;

    });

});

0 个答案:

没有答案