2014-07-08 4 views
0
$rootScope.$on("conv", function() { 
    var cobject = nservice.getconvo(); 
    console.log("cobject", cobject); 

    $scope.cnotifications= cobject.convos; 
    $scope.num_unread= cobject.num_unread; 
}); 

이 기능은 컨트롤러 내부에 있습니다.이 컨트롤러는 페이지 새로 고침에서만로드됩니다. 페이지를 새로 고침 할 때 서비스에서 데이터를 삭제합니다.각도 js- 컨트롤러는 페이지 새로 고침에만로드합니다.

+0

원하는 동작은 무엇입니까? –

+0

페이지가 새로 고침 될 때만 알림이 업데이트되므로 서비스 알림이 표시됩니다. –

+0

원하는 동작이 여전히 명확하지 않습니다. 누가 데이터 새로 고침을 시작할 것입니까? - 서비스가 컨트롤러에 새로운 데이터가 있음을 알리거나 컨트롤러가 데이터를 새로 고치고 컨트롤러 안의 데이터를 새로 고치도록 서비스에 알릴 것입니까? –

답변

0

글쎄, 가장 간단한 해결책은 이벤트를 사용하는 것입니다. 서비스에는 데이터를 새로 고치도록 알림 (알림)을 알려주는 컨트롤러가 호출하는 메서드가 있어야합니다. 서비스에서 새로운 데이터를 사용할 수있게되면 서비스는 throw an event on the rootScope으로 변경되며 해당 컨트롤러가 인터셉트하여 그에 따라 모델을 업데이트합니다.

+0

감사합니다. 컨트롤러가 새로 고침을 지시하는 서비스를 사용하여 귀하가 말한대로 작동했습니다. –