Ember Subs New! -

// 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;

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

If you really need a global event bus:

Only use subscriptions when data enters your app . 3. Subscribing to External Data (Best Practice) Step 1: Create a service // app/services/price-feed.js import Service from '@ember/service'; import tracked from '@glimmer/tracking'; import action from '@ember/object'; export default class PriceFeedService extends Service @tracked currentPrice = null; @tracked isConnected = false; // app/components/price-display

// Publish this.eventBus.trigger('data-updated', some: 'data' ); import inject as service from '@ember/service'

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

@action updatePrice(data) this.currentPrice = data.price;