"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Angular에서 이벤트 통신을 위해 $on 및 $broadcast를 사용하는 방법은 무엇입니까?

Angular에서 이벤트 통신을 위해 $on 및 $broadcast를 사용하는 방법은 무엇입니까?

2024-11-08에 게시됨
검색:156

How to Use $on and $broadcast for Event Communication in Angular?

Angular의 이벤트 통신: $on 및 $broadcast

Angular에서 이벤트 통신은 애플리케이션의 여러 부분 간의 상호 작용을 조정하는 데 중요합니다. . $on 및 $broadcast는 구성 요소 전체에서 효과적인 브로드캐스팅 및 이벤트 처리를 가능하게 하는 핵심 Angular 메커니즘입니다.

$on 및 $broadcast 이해

  • $broadcast: 모든 하위 항목(하위 범위) 및 범위의 상위 체인에 특정 이벤트를 알리기 위해 범위에서 발생합니다.
  • $on: 범위에 의해 등록됩니다. 현재 범위, 상위 범위 또는 하위 범위에서 브로드캐스트되는 특정 이벤트를 수신합니다.

예제에서 이벤트 통신 구현

귀하의 경우, 코드 스캐너 컨트롤러에서 처리할 수 있는 이벤트를 트리거하기 위해 바닥글 컨트롤러의 클릭 이벤트를 원합니다. 이를 달성하려면:

1. 브로드캐스터(footerController):

  • $rootScope를 사용하여 이벤트를 브로드캐스트합니다. 이는 애플리케이션의 모든 범위를 포함합니다.
  • footerController에서 다음과 같은 함수를 정의합니다.
$scope.startScanner = function() {
    $rootScope.$broadcast('scanner-started');
}

2. Receiver (codeScannerController):

  • $on을 사용하여 codeScannerController에서 브로드캐스트 이벤트를 수신합니다:
$scope.$on('scanner-started', function(event, args) {
    // Your logic here
});

추가 기능:

  • $broadcast('event-name', { any: {} }를 사용하여 이벤트를 브로드캐스팅할 때 인수를 전달할 수 있습니다. ).
  • 따라서 수신자의 이벤트 핸들러에서 이러한 인수를 받을 수 있습니다.

참조 문서:

자세한 내용은 범위에 대한 공식 Angular 문서를 참조하세요: https://docs.angularjs.org/api/ng/type/$rootScope.Scope

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3