ng-view
으로 렌더링되는 페이지에 대한 컨트롤러가 있다고 가정합니다.
이 컨트롤러는 외부 소스 (예 : 응용 프로그램 차원의 메시지 버스)의 일부 이벤트에 바인딩하여 해당 모델을 업데이트합니다. 이것은 기본적으로 매우 쉽게 작동합니다
function MyController ($scope) {
$scope.bar = '…';
externalSource.on('foo', function (data) {
$scope.$apply(function() {
$scope.bar = data.bar;
});
});
}
문제는 : 나는이가 더 이상 표시되지 않습니다와 관련된 뷰되면 외부 소스에서 컨트롤러를 바인딩을 해제하려면 어떻게합니까?
dispose
이벤트 나 이와 유사한 것이 있습니까?
내 접근 방식이 완전히 잘못되었으므로 어떻게 든 다른 방식으로 처리해야합니까? 그렇다면 어떻게?
jQuerys ** on ('event', ...) ** 메소드를 사용하는 경우 이벤트를 제거하려면 ** off ('event') **를 호출하면됩니다. 아니면 내가 잘못 했니? –
특히 각도 문제는 아닙니다. 사용중인 외부 이벤트 자원에 따라 다릅니다. –
예. 바인딩을 해제하는 방법을 알고 있지만 언제/어디에서해야할지 모르겠습니다. 이는 컨트롤러의 수명주기에 달려 있으며 이는 AngularJS와 관련이 있습니다. –