JSFiddle - React, Tailwind, and code Playground

by marionettejs

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.3.2/backbone-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.radio/2.0.0-pre.2/backbone.radio.js"></script>
<script src="https://rawgit.com/marionettejs/backbone.marionette/next/lib/backbone.marionette.js"></script>

JavaScript

const { View, bindRequests } = Marionette; // import { View, bindRequests } from 'backbone.marionette';

const MyView = View.extend({
  channelName: 'myChannelName',
  radioRequests: {
    'foo:bar': 'fooBar'
  },

  initialize() {
    const channel = Backbone.Radio.channel(this.channelName);
    bindRequests(this, channel, this.radioRequests);
  },

  fooBar() {
  	console.log('foo:bar event was called')
  }
 });

const myView = new MyView();
const channel = Backbone.Radio.channel('myChannelName');
channel.request('foo:bar'); // Logs 'foo:bar event was called'