使用服務將資料從一個控制器共享到另一個

我們可以建立 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 資料。因此,我們可以將資料從一個控制器共享到另一個這樣的控制器。