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>
[結果コントローラー]
function resultController($scope){
$scope.getResultForPeople = function(){
return $scope.getPeopleResponse();
}
}
そして、savePeopleResponse と getResultForPeople は rootScope に「キャッシュ」されます。
app.run(function($rootScope) {
var peopleResponse = {};
$rootScope.savePeopleResponse = function(data) {
peopleResponse = data;
console.log(data);
}
$rootScope.getPeopleResponse = function(){
return peopleResponse;
}
});
ご覧のとおり、このアプリケーションがどんどん大きくなると、これは非常に厄介になります。コントローラ間で永続化されるようにデータを処理する最良の方法は何ですか?