제품 목록을 표시하는 페이지가 있습니다. 사용자가 제품을 클릭하면 다른 페이지에 제품 세부 정보가 표시됩니다. 이것은 내 라우팅 구성의 일부입니다AngularJS에서 컨트롤러에 객체 전달
when('/products', {
templateUrl: 'views/products.html',
controller: 'ProductListCtrl'
}).
when('/products'/:productId', {
templateUrl: 'views/product-details.html',
controller: 'ProductDetailsCtrl'
}).
당신이 난 단지 내가 제품에 대한 정보를 얻을 수있는 또 다른 AJAX 호출을 만들 필요가 의미 매개 변수로 (내가 $routeParams
를 사용하여 조회하는있는) productId
를 전달할 수 있습니다 볼 수 있듯이. 하지만이 데이터는 이미 products
페이지에 있습니다.
제 질문은 : Product
개체를 productId
대신에 ProductDetailsCtrl
으로 전달할 수 있습니까?
서버로 돌아가고 싶지 않은 경우 리디렉션 전에 제품을 저장 한 다음 다음 페이지에서 검색해야하는 서비스와 같은 것을 사용해야합니다. 이 시점에서 productId를 넘길 필요가 없습니다 – Ian
'$ http' 또는'$ resource' 서비스를 설정하여 데이터를 캐시 할 수 있습니다 : https://docs.angularjs.org/api/ng/service/$http# 캐싱 –
@ MyTitle 내가 제안한 sharedProperties 서비스를 확인하십시오. –