title: How can two directives (that are not nested in HTML) communicate with each other?
body: <p>im pretty new to angularJS and I got a question (hope it's not that dumb):</p>
  
  <p>I got 2 directives (not nested): </p>
  
  <pre><code>&lt;div directive1&gt;&lt;/div&gt;
  &lt;div directive2&gt;&lt;/div&gt;
  </code></pre>
  
  <p>Now i want the directives to talk to each other with a controller (Ive defined a 'controller: ' in directive1):</p>
  
  <pre><code>myApp
      .directive('directive2', function () {
          return {
              require: "^directive1",
  
              link: function (scope, element, attrs, directive1Ctrl) {
                  directive1Ctrl.doSomething();
              }
          };
      });
  </code></pre>
  
  <p><strong>BUT</strong> Im always getting 'Controller not Found' Exception.. (Im not that sure about the ^ cause its only for searching upwards through parents).
  <br />
  Is it not possible to use the Controller defined in directive1 from directive2 if theyre not nested?
  Do i have to use a 'seperate' Controller which both require to work with each other?</p>