في AngularJS ، يمكنك استخدام آليات بث الحدث للبث $ ، $ EMIT ، $ على التواصل بين نطاقات مختلفة.
يقدم:
الغرض من البث $ هو نشر الأحداث من نطاق الوالدين إلى نطاق الطفل ، بما في ذلك نفسه. التنسيق كما يلي: $ broadcast (eventName ، args)
الغرض من $ SEIT هو نشر الأحداث من نطاق الطفل إلى نطاق الوالدين ، بما في ذلك نفسه حتى نطاق الجذر. التنسيق كما يلي: $ emit (eventName ، args)
يستخدم $ ON لمراقبة الأحداث التي تم نشرها من الأطفال أو نطاقات الوالدين والبيانات المقابلة في النطاق. التنسيق كما يلي: $ ON (الحدث ، البيانات)
في الوصف أعلاه ، اسم EventName هو اسم الحدث الذي يجب مراقبته ، فإن حدث المعلمة في الأسلوب هو الكائن ذي الصلة للحدث ، والبيانات هي البيانات التي يتم نشرها بواسطة الحدث.
تحتوي معلمة الحدث في $ on method على الخصائص والأساليب التالية
سمات الحدث/الطريقة الوصف الوصف
| خصائص الحدث/الأساليب | الوصف الوظيفي |
|---|---|
| Event.TargetScope | احصل على نطاق حدث الانتشار |
| event.currentscope | احصل على نطاق الحدث المستلم |
| event.name | اسم حدث الانتشار |
| event.stoppropagation () | منع الأحداث من انتشار الفقاعة ، فقط صالحة في أحداث $ emit |
| Event.PreventDefault () | منع حدوث أحداث الانتشار |
| Event.DefaultPrevented | إرجاع صحيح إذا تم استدعاء حدث PreventDefault |
شفرة:
<! doctype html> <html ng-app = "myapp"> <head> <meta http-equiv = "content-type" content = "text/html ؛ var myapp = Angular.module ("myapp" ، []) ؛ // controller self myapp.controller ("self" ، function ($ scope ، $ window) {// button enter event $ scope.toparent = function () {// regline a event that the sevent to to to to to eventname: 'from selff' ، data: OneObject $ spic. $ emit ("{divname: $ scope.tochild = function () {// reglured a the sevent the sevent ، 'fromself' ، data: OneObject $ broadcast ("from" ، {divname: $ window.alert ("العقدة الحالية" + event.currentscope. // controller parent myapp.controller ("parent" ، الوظيفة (نطاق $ ، نافذة $) {$ scope.name = "parent" ؛ // $ on يتم استخدامها للأحداث $ scop الوظيفة هي " + data.description) ؛}) ؛ $ scope. $ on (" fromchild "، function (event ، data) {$ window.alert (" node current " + event.currentscope.name +" ، اعتراض الأحداث من " + data.divname +": // controller child myapp.controller ("child" ، وظيفة (نطاق $ ، نافذة $) {$ scope.name = "child" ؛ // $ on يتم استخدامها لاعتراض الأحداث من نطاق الوالدين $. $ on ("from" ، function (event ، data) {$ window.alert ("node current node event.name + "، وظيفته" + data.description) ؛ </script> </head> <body> <form name = "test"> <div ng-controller = "parent"> هنا هو الوالد div <div ng-controller = "self"> هنا هو child selfdiv <type type = "button" ng click = "toparent () childdiv "/> <div ng-controller =" child "> هنا هو الطفل childdiv <type type =" button "ng click =" totop () "value =" upload event "/> </viv> </viv> <div ng-controller =" borther "> هنا هو شقيق Self Bortherd </div>شفرة
تأثير:
خصائص أخرى:تم بث الحدث أعلاه في AngularJS - تحليل شامل للبث $ ، $ EMIT ، $ ON هو كل المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.