我繼承了一個角度應用程序,現在需要進行更改。控制angularjs中的執行順序
作爲此更改的一部分,某些數據需要在一個控制器中設置,然後從另一個控制器使用。所以我創建了一個服務,並有一個控制器將數據寫入其中,一個控制器從中讀取數據。
angular.module('appRoot.controllers')
.controller('pageController', function (myApiService, myService) {
// load data from API call
var data = myApiService.getData();
// Write data into service
myService.addData(data);
})
.controller('pageSubController', function (myService) {
// Read data from service
var data = myService.getData();
// Do something with data....
})
然而,當我去使用data
在pageSubController
它始終是不確定的。
我怎樣才能確保 pageSubController
之前執行?或者,這甚至是正確的問題?
編輯
我的服務代碼:
angular.module('appRoot.factories')
.factory('myService', function() {
var data = [];
var addData = function (d) {
data = d;
};
var getData = function() {
return data;
};
return {
addData: addData,
getData: getData
};
})
我們可以看看'myService'定義是什麼?另外你的html – 2014-11-06 11:14:36
@RahilWazir補充說。數據的使用實際上是ng-table params – 2014-11-06 11:20:35
如果你包含你的html,那將是很棒的,所以我們將知道你是如何使用控制器的。 – 2014-11-06 11:23:28