使用服务将数据从一个控制器共享到另一个

我们可以创建 servicesetget controllers 之间的数据,然后在我们想要使用它的控制器函数中注入该服务。

服务:

app.service('setGetData', function() {
  var data = '';
    getData: function() { return data; },
    setData: function(requestData) { data = requestData; }
});

控制器:

app.controller('myCtrl1', ['setGetData',function(setGetData) {

  // To set the data from the one controller
  var data = 'Hello World !!';  
  setGetData.setData(data);

}]);

app.controller('myCtrl2', ['setGetData',function(setGetData) {

  // To get the data from the another controller  
  var res = setGetData.getData();
  console.log(res); // Hello World !!

}]);

在这里,我们可以看到 myCtrl1 用于 setting 数据,myCtrl2 用于 getting 数据。因此,我们可以将数据从一个控制器共享到另一个这样的控制器。