title: Should I use `this` or `$scope`?
body: <p>There are two patterns in use for accessing controller functions:  <code>this</code> and <code>$scope</code>.</p>
  
  <p>Which should I use and when?  I understand <code>this</code> is set to the controller and <code>$scope</code> is an object in the scope chain for views. But with the new "Controller as Var" syntax, you can easily use either. So what I'm asking is what is best and what is the direction for the future?</p>
  
  <p>Example:</p>
  
  <ol>
  <li><p>Using <code>this</code></p>
  
  <pre><code>function UserCtrl() {
    this.bye = function() { alert('....'); };
  }
  </code></pre>
  
  
  
  <pre><code>&lt;body ng-controller='UserCtrl as uCtrl'&gt;
    &lt;button ng-click='uCtrl.bye()'&gt;bye&lt;/button&gt;
  </code></pre></li>
  <li><p>Using <code>$scope</code></p>
  
  <pre><code>function UserCtrl($scope) {
      $scope.bye = function () { alert('....'); };
  }
  </code></pre>
  
  
  
  <pre><code>&lt;body ng-controller='UserCtrl'&gt;
      &lt;button ng-click='bye()'&gt;bye&lt;/button&gt;
  </code></pre></li>
  </ol>
  
  <p>I personally find the <code>this.name</code> to be easier on the eye and more natural compared to other Javascript OO patterns.</p>
  
  <p>Advice please?</p>