Aurelia - Aggregatore di eventi
L'aggregatore di eventi dovrebbe essere utilizzato quando i tuoi eventi devono essere allegati a più listener o quando devi osservare alcune funzionalità della tua app e attendere l'aggiornamento dei dati.
L'aggregatore di eventi Aurelia ha tre metodi. Ilpublishil metodo attiverà eventi e può essere utilizzato da più abbonati. Per iscriversi a un evento, possiamo utilizzare ilsubscribemetodo. Infine, possiamo usare il filedisposemetodo per scollegare gli iscritti. Il seguente esempio lo dimostra.
La nostra vista avrà solo tre pulsanti per ciascuna delle tre funzionalità.
app.html
<template>
<button click.delegate = "publish()">PUBLISH</button><br/>
<button click.delegate = "subscribe()">SUBSCRIBE</button><br/>
<button click.delegate = "dispose()">DISPOSE</button>
</template>
Dobbiamo importare eventAggregator e iniettalo prima che siamo in grado di usarlo.
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!!!');
}
}
Dobbiamo fare clic su SUBSCRIBEpulsante per ascoltare i dati che verranno pubblicati in futuro. Una volta che l'abbonato è stato collegato, ogni volta che vengono inviati nuovi dati, la console li registrerà. Se facciamo clic sul filePUBLISH cinque volte, vedremo che viene registrato ogni volta.
![](https://assets.edu.lat/aurelia/images/aurelia-event-aggregator-example.jpg)
Possiamo anche scollegare il nostro abbonato facendo clic su DISPOSE pulsante.