In AngularJS können Sie die Event Broadcast -Mechanismen von $ Broadcast, $ emit und $ verwenden, um zwischen verschiedenen Scopes zu kommunizieren.
einführen:
Der Zweck von $ Broadcast besteht darin, Ereignisse vom übergeordneten Bereich zum Kinderbereich, einschließlich sich selbst, zu verbreiten. Das Format lautet wie folgt: $ Broadcast (Eventname, Args)
Der Zweck von $ emit besteht darin, Ereignisse vom Kinderumfang bis zum übergeordneten Umfang zu verbreiten, einschließlich sich selbst bis zum Wurzelbereich. Das Format lautet wie folgt: $ emit (Eventname, Args)
$ ON wird verwendet, um Ereignisse zu überwachen, die von Kindern oder übergeordneten Bereichen und entsprechenden Daten im Bereich propagiert sind. Das Format lautet wie folgt: $ on (Ereignis, Daten)
In der obigen Beschreibung ist Ereignisname der Name des Ereignisses, das überwacht werden muss, das Parameterereignis in der Methode $ in Methode ist das relevante Objekt des Ereignisses, und Daten sind die vom Ereignis verbreiteten Daten.
Der Ereignisparameter in der Methode $ auf Methode hat die folgenden Eigenschaften und Methoden
Ereignisattribute/Methode Funktionale Beschreibung
| Ereigniseigenschaften/Methoden | Funktionsbeschreibung |
|---|---|
| Event.TargetScope | Holen Sie sich den Umfang des Propagationsereignisses |
| event.currentScope | Holen Sie sich den Umfang der erhaltenen Veranstaltung |
| Ereignis.name | Der Name des Spread -Ereignisses |
| Event.StopPropagation () | Verhindern |
| Event.PreventDefault () | Verhindern Sie, dass Propagationsereignisse stattfinden |
| Event.DefaultPrevented | RETSURE TRUE, wenn das Ereignis von PreventDefault aufgerufen wird |
Code:
<! DocType html> <html ng-App = "MyApp"> <head> <meta http-äquiv = "content-type" content = "text/html; charset = utf-8"/> <title> </title> <meta charset = "utf-8"/> <script src = "ajjs/ucka" utf-8 "> < = angular.module ("myapp", []); // Controller self myapp.controller ("self", function ($ scope, $ window). $ scope.tchild = function () {// Registrieren Sie ein Ereignis, das nach unten propagiert ist, Ereignisname: 'From Self', Daten: OneObject $ Scope. $ windy.alert ("aktueller Knoten" + Ereignis.CurrentScope.Name + "Abgefangene Ereignisse von" + data.divname + ":" + event.name + ", seine Funktion ist" + data.description); // Controller Parent myapp.controller ("übergeordnet", Funktion ($ scope, $ window) {$ scope.name = "parent"; // $ on wird für Ereignisse verwendet. $ Scope. Funktion ist " + data.Description);}); $ scope. // Controller Child MyApp.Controller ("Child", Funktion ($ scope, $ window) {$ scope.name = "child"; // $ on wird verwendet, um Ereignisse von übergeordnetem Scope $ scope. Event.name + ", seine Funktion ist" + data.Description); </script> </head> <body> <form name = "test"> <div ng-controller = "parent"> Hier ist der übergeordnete div <div ng-controller = "self"> Hier ist das untergeordnete selfdiv <Eingabe-Typ = "button" ng-click = "toparent ()" value = "propagate Ereignis zu Parentsdiv"/> <Puttyp ". to ChildDiv" /> <div ng-controller="Child"> Here is the child ChildDiv <input type="button" ng-click="toTop()" value="upload event" /> </div> </div> <div ng-controller="Borther"> Here is Self's brother BortherDiv </div> </div> </form></body> </html>Code
Wirkung:
Andere Eigenschaften:Die oben genannte Veranstaltung in AngularJS ausgestrahlt - eine umfassende Analyse von $ Broadcast, $ emit, $ on ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.