學習和測試AngularJS有點困難,我對如何構建服務以使某些數據可用於某些控制器存在懷疑。如何在AngularJS中構建服務以提供數據
我有一個JSON文件,我想從我的服務中加載它,然後通過我的控制器使用此服務來訪問數據。
我現在的服務是這樣的:
dashboardController.factory ('peopleRepository', function($http) {
return {
getAllPeople: function() {
return $http.get("people.json");
}
}
});
容易和簡單。 然後在我的控制,我做這樣的事情:
dashboardController.controller ('genderCtrl', function ($scope, $rootScope, peopleRepository) {
$scope.males = 0;
$scope.females = 0;
$scope.people = peopleRepository.getAllPeople().success(function(users) {
console.log ("SUCCESS -< ", users);
});
});
...當然一切的它的罰款和作品。 但我很確定這不是正確的做法。我需要在幾個控制器中訪問這些數據,這意味着基本上文件將被反覆加載,並且每次我都在等待成功事件加載內容。不是很優雅。 任何建議/提示新手?
你可以組織你的應用是SPA'單頁app'(它允許你在第一負載後使用緩存的服務)。但是,如果您已將應用程序分隔到不同的控制器上,則需要在需要時進行注入。 (我忘了,但你也可以將服務緩存到你的應用程序中) 你是如何構建應用程序的其餘部分的? –