AngularJS에서는 $ broadcast, $ emit, $ on의 이벤트 브로드 캐스트 메커니즘을 사용하여 다른 스코프간에 통신 할 수 있습니다.
소개하다:
$ Broadcast의 목적은 이벤트를 부모의 범위에서 자체를 포함하여 아동 범위로 전파하는 것입니다. 형식은 다음과 같습니다. $ Broadcast (EventName, Args)
$ Emit의 목적은 이벤트를 자녀 범위에서 부모 범위로 전파하는 것입니다. 형식은 다음과 같습니다. $ emit (EventName, Args)
$ on은 어린이 또는 부모 범위에서 전파 된 이벤트 및 해당 데이터 범위의 이벤트를 모니터링하는 데 사용됩니다. 형식은 다음과 같습니다. $ on (이벤트, 데이터)
위의 설명에서 이벤트 이름은 모니터링 해야하는 이벤트 이름이며, $ on 메소드의 매개 변수 이벤트는 이벤트의 관련 객체이며 데이터는 이벤트에 의해 전파됩니다.
$ on Method의 이벤트 매개 변수에는 다음 속성과 메소드가 있습니다.
이벤트 속성/방법 기능 설명
| 이벤트 속성/방법 | 기능 설명 |
|---|---|
| 이벤트 .TargetScope | 전파 이벤트의 범위를 얻으십시오 |
| 이벤트 .currentscope | 수신 된 이벤트의 범위를 얻으십시오 |
| 이벤트. 이름 | 스프레드 이벤트의 이름 |
| event.stopPropagation () | 이벤트가 거품 전파로부터 이벤트 방지, $ 이벤트에서만 유효합니다. |
| event.preventDefault () | 전파 이벤트가 발생하지 않도록합니다 |
| event.defaultprevented | RefortDefault 이벤트가 호출되면 true를 반환하십시오 |
암호:
<! docType html> <html ng-app = "myapp"> <head> <meta http-equiv = "content-type"content = "text/html; charset = utf-8"/> <title> </title> <meta charset = "utf-8"/> <cript> var myapp = angular.module ( "myapp", []); // 컨트롤러 self myApp.controller ( "self", function ($ scope, $ window) {// button의 전파 이벤트 $ scope.toparent = function () {// eventName : 'self', 'from self', data : oneobject $ spope. $ SCOPE.TOCHILD () {// 이벤트를 아래로 전파하는 이벤트를 등록합니다. 이벤트 이름 : 'SELF : OneObject $ scope. ", {divname :"self ":"자식으로 전파 "}; $ window.alert ( "현재 노드" + event.currentscope.name + " + data.divname +"의 인터셉트 이벤트 : " + data.description}); // 컨트롤러 부모 myApp.controller ( "부모", 함수 ($ scope, $ wind 함수는 " + data.description);}); $ scope. $ on ("fromchild ", function (unture) {event, data) {$ window.alert ("현재 노드 " + event.currentscope.name +", " + data.divname +": " + event.name +", 그 " + data.description);}); // 컨트롤러 child myapp.controller ( "child", function ($ scope, $ window) {$ scope.name = "child"; // $ on은 부모의 스코프 $ scope에서 이벤트를 가로 채는 데 사용됩니다. event.name + "는" + data.descripte (); </script> </head> <body> <form name = "test"> <div ng-controller = "parent"> 여기에 부모 div <div ng-controller = "self"> 여기에 자체 자체 자체가 있습니다. 여기에는 자식 자체가 있습니다. "ng-click ="toparent () ""value = ""input type = "ng-click" "ng click" value = "childdiv로 이벤트 전파"/> <div ng-controller = "child"> 여기에 자식 자식 <입력 유형 = "버튼"ng-click = "totop () value ="업로드 이벤트 "/> </div> </div> <div ng-controller ="borther "> 여기서 자아의 형제 bortherdiv </div> </</body> </div> </div> </div> </div> </div>암호
효과:
기타 속성 :위의 이벤트 브로드 캐스트 AngularJS -$ Broadcast, $ Emit, $ ON의 포괄적 인 분석은 내가 공유하는 모든 콘텐츠입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.