No AngularJS, você pode usar os mecanismos de transmissão de eventos de $ transmitido, $ emit, $ para se comunicar entre diferentes escopos.
introduzir:
O objetivo do $ Broadcast é propagar eventos do escopo dos pais ao escopo da criança, incluindo a si mesma. O formato é o seguinte: $ Broadcast (EventName, Args)
O objetivo do $ emit é propagar eventos do escopo da criança ao escopo dos pais, inclusive até o escopo da raiz. O formato é o seguinte: $ emit (eventname, args)
$ on é usado para monitorar eventos propagados de crianças ou escopos pais e dados correspondentes no escopo. O formato é o seguinte: $ on (evento, dados)
Na descrição acima, o EventName é o nome do evento que precisa ser monitorado, o evento de parâmetro no Método $ on é o objeto relevante do evento, e os dados são os dados propagados pelo evento.
O parâmetro do evento no método $ on tem as seguintes propriedades e métodos
Atributos do evento/Método Descrição funcional
| Propriedades/métodos do evento | Descrição funcional |
|---|---|
| Event.TargetScope | Obtenha o escopo do evento de propagação |
| Event.CurrentsCope | Obtenha o escopo do evento recebido |
| Event.name | O nome do evento de spread |
| event.stopPropagation () | Impedir os eventos de propagação de bolhas, apenas válida em $ emit Events |
| Event.PreventDefault () | Impedir que eventos de propagação aconteçam |
| Event.DefaultPrentEd | Retorne true se o evento PreventDefault for chamado |
Código:
<! Doctype html> <html ng-app = "myApp"> <head> <meta http-equiv = "content-type" content = "text/html; charset = utf-8"/> <title> </title> <meta-sset = "utf-8"/> <script srs src = </meta. var myApp = angular.module ("myApp", []); // controlador self myapp.controller ("self", função ($ scope, $ window) {// Evento de propagação do botão $ scope.toparent = function () {// Registre um evento que é propagado para cima, eventname: 'de? $ scope.tochild = function () {// Registre um evento que é propagado para baixo, eventname: 'de si mesmo, dados: OneObject $ SCOPE. $ window.alert ("nó atual" + event.currentscope.name + "eventos interceptados de" + data.divname + ":" + event.name + ", sua função é" + data.description); // controlador pai myapp.controller ("pai", função ($ scope, $ window) {$ scope.name = "parent"; // $ on é usado para eventos $ scope. função é " + data.description);}); $ scope. $ on (" fromChild ", function (event, dados) {$ window.alert (" nó atual " + event.currentscope.name +", eventos interceptados de "Data.divname +": "Event.name +", its "+.description); // Controller Child MyApp.Controller ("Child", Function ($ Scope, $ Window) {$ scope.name = "Child"; // $ on é usado para interceptar eventos do escopo dos pais $ SCOPE. Event.Name + "sua função é" Data.Description); </script> </ad Head> <body> <nome name = "test"> <div ng --Controller = "Parent"> Aqui está o pair Div <Div ng-CONTROLLER = "Self"> Aqui está o filho autodidrato <input type = "Button" ng-click = "toparent ()" = "Propagate Event to ParentDiv"/" value = "Propagate Evento para ChildDiv"/> <Div ng-CONTROLLER = "Child"> Aqui está o filho ChildDiv <INPUT TYPE = "Button" ng-click = "totop ()" value = "upload event"/> </div> </div> <div ng-controller = "Borther"> </sloth Brotherd </html>Código
Efeito:
Outras propriedades:A transmissão do evento acima no AngularJS - uma análise abrangente de $ transmitido, $ emit, $ on é todo o conteúdo que compartilho com você. Espero que você possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.