Я начал развиваться в AngularJS. Я смущен относительно того, является ли это надлежащим дизайном для передачи данных между моими частичными представлениями.
Сейчас у меня есть страница загрузчика, где я делаю запрос.
function PeopleController($scope,$http,$location){
$http.get('/location/-79.18925/43.77596').
success(function(data){
$scope.savePeopleResponse(data);
$location.url('/test');
});
}
Затем в представлении, которое загружается для /test
Я просто звоню
<div ng-controller="resultController">
<div class="blueitem">{{getResultForPeople()|json}}</div>
</div>
[resultController]
function resultController($scope){
$scope.getResultForPeople = function(){
return $scope.getPeopleResponse();
}
}
и savePeopleResponse и getResultForPeople "кэшируются" в корневой системе как таковой
app.run(function($rootScope) {
var peopleResponse = {};
$rootScope.savePeopleResponse = function(data) {
peopleResponse = data;
console.log(data);
}
$rootScope.getPeopleResponse = function(){
return peopleResponse;
}
});
Теперь, как вы можете видеть, это будет очень грязно, если это приложение станет больше и больше. Каков наилучший способ обработки данных, чтобы он сохранялся на всех контроллерах?