GithubHelp home page GithubHelp logo

sirzach / ember-message-bus Goto Github PK

View Code? Open in Web Editor NEW

This project forked from briarsweetbriar/ember-message-bus

0.0 2.0 0.0 17 KB

A simple message bus for Ember.js

License: MIT License

JavaScript 86.07% HTML 13.93%

ember-message-bus's Introduction

npm version Build Status

ember-message-bus

While Ember's routes and components are highly event-driven, this pattern does not extend to services, which must be tightly coupled to the components and other services that interface with them. With ember-message-bus, we can loosen that coupling by allowing those interactions to also be event-driven.

Installation

ember install ember-message-bus

Usage

First, add the BusPublisherMixin to something (such as a component, route, or service):

import Ember from 'ember';
import { BusPublisherMixin } from 'ember-message-bus';

export default Ember.Service.extend(BusPublisherMixin, {

});

Next, send messages to the message bus with publish:

export default Ember.Service.extend(BusPublisherMixin, {
  init() {
    this.publish('serviceBooted', this);

    this._super();
  }
});

Finally, add the BusSubscriberMixin to anything that you want to listen for these messages:

import Ember from 'ember';
import { BusSubscriberMixin } from 'ember-message-bus';

export default Ember.Service.extend(BusSubscriberMixin, {
  services: Ember.computed(() => Ember.A()),

  addService: on('serviceBooted', function(service) {
    this.get('services').pushObject(service);
  })
});

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.