2017-11-20 4 views
0

저는 Angular.js (Angular 1) 웹 사이트 (http://keraiz.com/)에서 일하고 있습니다.Angular.js에서 주 컨트롤러를 다시로드하는 방법은 무엇입니까?

로그인, 장바구니와 같은 모든 일반적인 항목에 대한 주 컨트롤러를 만듭니다. 하지만 로그인하거나 장바구니에 항목을 추가하면 전체 페이지를 다시로드 할 때까지 표시되지 않습니다. $ state.reload()를 사용하면 페이지 컨트롤러가 다시로드되지만 메인 컨트롤러를 다시로드하는 방법.

+0

어떻게 그 컨트롤러를 사용하고 있습니까? html의 일부분을 보여줄 수 있습니까? –

+0

대신 전역 범위를 사용하지 않는 것이 좋습니다. – pryashrma

+0

메인 컨트롤러는 모든 페이지를 커버 .. 헤더 컨트롤러를 제외하고 홈 컨트롤러 커버 페이지와 같은 페이지 컨트롤러 –

답변

0

사용자 및 카트에는 응용 프로그램 전체에 액세스 할 수 있어야하며 서비스/공장을 사용해야하므로 $ rootScope를 사용해야합니다. 또한 은 그렇게 전체 전체 코드에 대한 균일해야,은 $ rootScope 값을 업데이트하지 않을 그래서를 업데이트 범위도

$rootScope.cartProducts=response.data.response; 
$rootScope.totalItem = $scope.cartProducts.length; 

totalItem처럼 같은 변수 $ rootScope 및 $ 범위이다 사용 범위 및 rootScope가 올바르게 업데이트되어야하며, 이는 사용자가 수행해야합니다.

은 (추하게 등을 CONCAT) https://github.com/angular/angular.js/wiki/Understanding-Scopes

참고 : 귀하의 코드가 인터넷에 액세스 할 수 이해 범위이 링크를 시도하십시오, 그렇게 생산 버전의 코드를 유지하기위한 꿀꺽 또는 꿀꿀 거리는 소리 등을 사용합니다.

관련 문제