>웹 프론트엔드 >JS 튜토리얼 >$on 및 $broadcast는 어떻게 Angular에서 이벤트 통신을 활성화합니까?

$on 및 $broadcast는 어떻게 Angular에서 이벤트 통신을 활성화합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-28 07:18:01638검색

How do $on and $broadcast Enable Event Communication in Angular?

Angular에서 $on 및 $broadcast를 사용한 이벤트 통신

Angular는 $on 및 $broadcast라는 두 가지 기본 이벤트 통신 방법을 제공합니다. 이를 통해 애플리케이션 내의 구성 요소가 통신할 수 있습니다. 서로. Angular 애플리케이션에서 효과적인 이벤트 처리를 위해서는 이러한 방법이 어떻게 작동하는지 이해하는 것이 중요합니다.

$broadcast
footer.html의 요소를 클릭하는 것과 같이 컨트롤러에서 이벤트가 발생할 때 footerController는 $broadcast를 사용하여 애플리케이션의 다른 부분으로 브로드캐스트할 수 있습니다. 이 메소드는 이벤트 이름과 선택적 인수를 매개변수로 사용합니다.

<code class="javascript">$rootScope.$broadcast('scanner-started');</code>

$on
다른 구성요소는 $on을 사용하여 이러한 이벤트를 구독할 수 있습니다. 이 메소드는 이벤트 이름과 콜백 함수를 매개변수로 사용합니다. 이벤트가 브로드캐스트되면 콜백 함수가 트리거되어 $broadcast로 전달된 모든 인수에 대한 액세스를 제공합니다.

<code class="javascript">$scope.$on('scanner-started', function(event, args) {

    // do what you want to do
});</code>


startScanner 이벤트가 필요한 codeScannerController를 고려하세요. 코드 스캔을 시작하세요. footerController는 요소를 클릭할 때 이 이벤트를 트리거할 수 있습니다.

<code class="javascript">// In footerController
$scope.startScanner = function() {

    $rootScope.$broadcast('scanner-started', { any: {} });
}

// In codeScannerController
$scope.$on('scanner-started', function(event, args) {

    var anything = args.any;
    // do what you want to do
});</code>

사용법
$on 및 $broadcast는 일반적으로 서로 다른 구성 요소 간의 통신을 촉진하는 데 사용됩니다. 컨트롤러, 서비스 및 지시어. 이를 통해 이벤트가 애플리케이션 전체에서 트리거되고 처리될 수 있으므로 느슨하게 결합된 디자인이 가능해집니다.

위 내용은 $on 및 $broadcast는 어떻게 Angular에서 이벤트 통신을 활성화합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.