title: Losing this reference in $scope.$on event
body: <p>I'm registering the "$routeChangeSuccessEvent" from Angularjs by setting the callback function. When the event is raised I can not access my controllers instance by "this". The current this instance is unedfined.</p>
  
  <p>My complete TypeScript Code:</p>
  
  <pre><code>export class Ctlr {
  
      static $inject = ["$rootScope","$route"];
  
      constructor(private $scope: ng.IRootScopeService) {
          this.Scope = $scope;
          this.Title = "";
          //this.Scope.$on("$routeChangeSuccessEvent", this.onRouteChangeStart);
          this.RegisterEvents();
          }
      private RegisterEvents(): void {
          this.Scope.$on("$routeChangeSuccessEvent",(event: ng.IAngularEvent, args: any) =&gt; {
          //this is undefined
              console.log(this);
          });
      }
      public Scope: ng.IScope;
      public Title: string;
  
      public onRouteChangeStart(event: ng.IAngularEvent, args: any) {
          //this is undefined
          this.Title = args.$$route.name);
      }
  
  }
  </code></pre>
  
  <p>} </p>
  
  <p>I'm able to get access of the Title property with:</p>
  
  <pre><code> private RegisterEvents(): void {
          var ref = this.Title;
          this.Scope.$on("$routeChangeSuccessEvent",(event: ng.IAngularEvent, args: any) =&gt; {
              ref = args.$$route.name;
          });
      }
  </code></pre>
  
  <p>But that's not a real solution because angularJS doesn't update its view. It seems that I didn't catch the right reference. If thats not possible the whole angularjs events seems to be not useabel - that can't be possible?</p>
  
  <p>I also didn't find any topic about this strange behavior. Is there a solution for this issue?</p>