컨트롤러간에 공유 된 서비스에 대한 캐시 요청과보기 간 전환시 페이지 상태를 유지하려면 어떻게해야합니까? 내가 할 수있는 분명Filters
.controller('Filters', ['$scope','Imgur', function($scope, Imgur) {
$scope.$on('updateAlbumsList', function(e) {
$scope.albumsList = Imgur.returnAlbumsList();
});
$scope.filterAlbum = function(id) {
Imgur.filterAlbum(id);
};
$scope.init = function() {
Imgur.getAlbumsList(function(){
//A hack to preserve page state
Imgur.loadFilters();
});
};
$scope.init();
}])
Here is a plunker with full source.
이제
$routeProvider.when('/', {templateUrl: 'views/art.html'});
$routeProvider.when('/bio', {templateUrl: 'views/bio.html'});
art.html
는 컨트롤러가 :
나는 두 가지보기가 exhisting 속성을 변경할 수있는 필터를 적용하는 것과 같은 일을 서비스 개체에 적용하고, 새 속성을 추가하고 요청 당 새 개체를 추가 할 수도 있습니다.
하지만 bio.html
으로 전환하고 art.html
으로 전환하면 어떻게됩니까? 요청을 다시 보내고 전체 페이지를 다시 렌더링합니다! 개체가 init()
에 의해 다시 인스턴스화되기 때문에 그 사실을 알고 있습니다.
뷰를 전환 할 때 페이지 상태를 어떻게 유지합니까?
다른 컨트롤러가 공유하는 동일한 서비스 호출에 대해 캐시 된 요청을 어떻게 사용합니까? 내 경우