title: Listening to events between view controllers
body: <p>I am having trouble trying to figure out how to listen to events fired in one View Controller from another ViewController. </p>
  
  <p>My grid component defines a Listener    </p>
  
  <pre><code>selModel: {
      listeners: {
          selectionchange: 'onChemClick'
      }
  },
  </code></pre>
  
  <p>and my ViewController(called chemslist) has the function that fires another event</p>
  
  <pre><code>onChemClick: function(view, selected) {
      console.log("before firing");
      this.fireEvent('canvasData', this, selected.length);
      console.log("after firing");
      console.log(selected);
  }
  </code></pre>
  
  <p>I have another controller that actually listens to this event and shows the data. </p>
  
  <pre><code>Ext.define('view.canvas.CanvasController', {
  extend: 'Ext.app.ViewController',
  alias: 'controller.canvas',
  
  listen: {
      controller: {
          chemslist: {
              canvasData: 'onCanvasData'
          }
      }
  },
  
  onCanvasData: function() {
      console.log("At Fire");
  }
  
  });
  </code></pre>
  
  <p>For some reason I can't figure out why the CanvasController is not able to listen to the event. I did also go through the Ticket example and looked at how the events are fired and other viewControllers listen to them. </p>
  
  <p>Also What would be a best practice if a selection on a grid in one region causes a lot of changes in another panel?, should the event be fired as a global so that all the components  would listen to it ? or should i listen to it in the main Controller(not a ViewController) and generate the components based on the event ?</p>
  
  <p>Thanks!</p>