Aurelia - Công cụ tổng hợp sự kiện
Trình tổng hợp sự kiện nên được sử dụng khi sự kiện của bạn cần được đính kèm với nhiều người nghe hơn hoặc khi bạn cần quan sát một số chức năng của ứng dụng và đợi cập nhật dữ liệu.
Trình tổng hợp sự kiện Aurelia có ba phương pháp. Cácpublishphương pháp sẽ kích hoạt các sự kiện và có thể được sử dụng bởi nhiều người đăng ký. Để đăng ký một sự kiện, chúng tôi có thể sử dụngsubscribephương pháp. Và cuối cùng, chúng ta có thể sử dụngdisposephương pháp tách người đăng ký. Ví dụ sau đây chứng minh điều này.
Chế độ xem của chúng tôi sẽ chỉ có ba nút cho mỗi ba chức năng.
app.html
<template>
<button click.delegate = "publish()">PUBLISH</button><br/>
<button click.delegate = "subscribe()">SUBSCRIBE</button><br/>
<button click.delegate = "dispose()">DISPOSE</button>
</template>
Chúng tôi cần nhập khẩu eventAggregator và tiêm nó trước khi chúng tôi có thể sử dụng nó.
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!!!');
}
}
Chúng tôi cần nhấp vào SUBSCRIBEđể lắng nghe dữ liệu sẽ được xuất bản trong tương lai. Sau khi người đăng ký được đính kèm, bất cứ khi nào dữ liệu mới được gửi đi, bảng điều khiển sẽ ghi lại dữ liệu đó. Nếu chúng ta nhấp vàoPUBLISH nút năm lần, chúng ta sẽ thấy rằng nó được ghi lại mỗi lần.
Chúng tôi cũng có thể tách người đăng ký của mình bằng cách nhấp vào DISPOSE cái nút.