Ember Subs [BEST]

// Publish this.eventBus.trigger('data-updated', some: 'data' );

willDestroy() super.willDestroy(...arguments); this.priceFeed.disconnect(); ember subs

// app/components/price-display.js import Component from '@glimmer/component'; import inject as service from '@ember/service'; export default class PriceDisplayComponent extends Component @service priceFeed; // Publish this

disconnect() this.socket?.close();

// app/services/event-bus.js import Service from '@ember/service'; import Evented from '@ember/object/evented'; export default class EventBusService extends Service.extend(Evented) {} // Publish this.eventBus.trigger('data-updated'