title: Communicating between controllers in AngularJs
body: <p>I have a simple question: what's the best ('cleanest', 'scaleable') path one should go when it comes to interact between (let's say) two controllers. Would that be to define a service and watch that service's return-value in order to react?</p>
  
  <p>I setup a simple example <a href="http://plnkr.co/edit/2AgRflWj2ogsJDSc442b?p=preview" rel="nofollow">here</a>, where I watch the service's current value:</p>
  
  <pre><code>$scope.$watch(
      function() {
          return myService.getValue();
      },
      function(newVal) {
          $scope.value1 = newVal;
      });
  </code></pre>
  
  <p>and update that service's value when one of the buttons is clicked.</p>
  
  <p>Can this be done better, smaller, cleaner somehow? What's the best practice here?</p>
  
  <p>Cheers.</p>