title: Angular + Typescript: What ends up on the $scope?
body: <p>I'm currently trying to integrate trNgGrid into my angular app where it's unfortunately not possible to bind a function from the controller to an <code>ng-click</code> on a row since it builds the table body itself. Instead, the documentation tells me that I have to <code>$watch</code> an array on the <code>$scope</code> for changes. I get the concept of the <code>$scope</code> but when using typescript and the <code>ControllerAs</code> syntax, it is rarely required to use it. So my question is: What ends up on the <code>$scope</code> and how do I watch it (the right way)?</p>
  
  <p>Consider the following controller:</p>
  
  <pre><code>export class DummyViewModel {
  
      private iAmPrivate : number;
      public iAmPublic: number;
  
      constructor($scope : any) {
          $scope.amIOnTheScope = "??";
      }
  }
  </code></pre>
  
  <p>So.. is <code>iAmPrivate</code> on the <code>$scope</code>? What about <code>iAmPublic</code>? Can I watch <code>iAmPublic</code> using <code>$scope.$watch("iAmPublic",...</code>. And if I access a public member of the controller from the view using <code>vm.iAmPublic</code>, where do I exactly bind to? The <code>$scope</code> or a secret controller narnia?</p>