Heim > Web-Frontend > js-Tutorial > Wie ermöglichen $on und $broadcast die Ereigniskommunikation in Angular?

Wie ermöglichen $on und $broadcast die Ereigniskommunikation in Angular?

Mary-Kate Olsen
Freigeben: 2024-10-28 07:18:01
Original
631 Leute haben es durchsucht

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

Ereigniskommunikation mit $on und $broadcast in Angular

Angular bietet zwei grundlegende Ereigniskommunikationsmethoden, $on und $broadcast, die es Komponenten innerhalb einer Anwendung ermöglichen, zu kommunizieren miteinander. Für eine effektive Ereignisbehandlung in Angular-Anwendungen ist es von entscheidender Bedeutung, zu verstehen, wie diese Methoden funktionieren.

$broadcast
Wenn ein Ereignis in einem Controller auftritt, beispielsweise das Klicken auf ein Element in „footer.html“. Wenn Sie den FooterController verwenden, kann er mithilfe von $broadcast an andere Teile der Anwendung gesendet werden. Diese Methode verwendet einen Ereignisnamen und optionale Argumente als Parameter.

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

$on
Andere Komponenten können diese Ereignisse mit $on abonnieren. Diese Methode akzeptiert einen Ereignisnamen und eine Rückruffunktion als Parameter. Wenn das Ereignis gesendet wird, wird die Rückruffunktion ausgelöst, die Zugriff auf alle mit $broadcast übergebenen Argumente bietet.

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

    // do what you want to do
});</code>
Nach dem Login kopieren

Beispiel
Betrachten Sie den codeScannerController, für den ein startScanner-Ereignis erforderlich ist Beginnen Sie mit dem Scannen eines Codes. Der footerController kann dieses Ereignis auslösen, wenn auf ein Element geklickt wird.

<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>
Nach dem Login kopieren

Verwendung
$on und $broadcast werden häufig verwendet, um die Kommunikation zwischen verschiedenen Komponenten zu erleichtern, z. B. zwischen Controller, Dienste und Richtlinien. Sie ermöglichen das Auslösen und Behandeln von Ereignissen in der gesamten Anwendung und ermöglichen so ein lose gekoppeltes Design.

Das obige ist der detaillierte Inhalt vonWie ermöglichen $on und $broadcast die Ereigniskommunikation in Angular?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage