الأحد، 25 أكتوبر 2020

Aurelia - Event Aggregator أوريليا - مجمع الأحداث

 Aurelia - Event Aggregator أوريليا - مجمع الأحداث

Aurelia - Event Aggregator أوريليا - مجمع الأحداث

يجب استخدام مُجمِّع الأحداث عندما تحتاج أحداثك إلى إرفاقها بمزيد من المستمعين أو عندما تحتاج إلى مراقبة بعض وظائف تطبيقك وانتظار تحديث البيانات.

مجمع الحدث Aurelia له ثلاث طرق. و نشر وطريقة النار قبالة الأحداث، ويمكن استخدامها من قبل عدة مشتركين. للاشتراك في حدث ، يمكننا استخدام طريقة الاشتراك . وأخيرًا ، يمكننا استخدام طريقة التخلص لفصل المشتركين. يوضح المثال التالي هذا.

سيحتوي عرضنا على ثلاثة أزرار فقط لكل وظيفة من الوظائف الثلاث.

app.html

<template>
   <button click.delegate = "publish()">PUBLISH</button><br/>
   <button click.delegate = "subscribe()">SUBSCRIBE</button><br/>
   <button click.delegate = "dispose()">DISPOSE</button>
</template>

نحتاج إلى استيراد eventAggregator وحقنه قبل أن نتمكن من استخدامه.

app.js

import {inject} from 'aurelia-framework';
import {EventAggregator} from 'aurelia-event-aggregator';

@inject(EventAggregator)
export class App {
   constructor(eventAggregator) {
      this.eventAggregator = eventAggregator;
   }
   publish() {
      var payload = 'This is some data...';
      this.eventAggregator.publish('myEventName', payload);
   }
   subscribe() {
      this.subscriber = this.eventAggregator.subscribe('myEventName', payload => {
         console.log(payload);
      });
   }
   dispose() {
      this.subscriber.dispose();
      console.log('Disposed!!!');
   }
}

نحتاج إلى النقر فوق الزر " اشتراك" للاستماع إلى البيانات التي سيتم نشرها في المستقبل. بمجرد إرفاق المشترك ، كلما تم إرسال بيانات جديدة ، ستقوم وحدة التحكم بتسجيلها. إذا نقرنا على زر النشر خمس مرات ، فسنرى أنه يتم تسجيله في كل مرة.

مثال عارض حدث Aurelia

يمكننا أيضًا فصل المشترك لدينا عن طريق النقر فوق الزر DISPOSE .





التسميات: