Fonction de lien de la directive AngularJS TypeScript

Je suis en train de créer un AngularJS directive à l'aide de caractères d'imprimerie. Mon directive exige "ngModel" et je suis également en utilisant un service personnalisé injecté dans mon directive.
Mon principal problème est que mon service ne peut pas être utilisé à l'intérieur de ma fonction de lien.

Voici un exemple de ce que je suis en train de réaliser:

module app.directives {

    export var directiveName: string = "theDirective";

    angular.module("myApp").directive(directiveName, 
           (myFactory: app.services.MyFactory) =>
           {
                return new MyDirective(myFactory);
           });

    export interface IMyDirectiveScope extends ng.IScope {
        ngModel: ng.INgModelController;
    }

    export class MyDirective implements ng.IDirective {

        restrict = "A";
        require = "ngModel";
        scope = {
            ngModel:'='
        }

        constructor(private myFactory: app.services.MyFactory) {

        }


        link(scope: IMyDirectiveScope , elem: JQuery, attributes: ng.IAttributes, ngModel: ng.INgModelController) {
            //this is window here

            elem.bind('blur', (evt: JQueryEventObject) => {  
                 //keyword this is also window here, so yeah bummer indeed
                 validate(); 
            });

            function validate() {
                 //I need to use my factory here, but I can seem to get it.
                 //this is always window and I'm kinda stuck here
            }
        }
    }
}

Je n'arrive pas à trouver certaines des choses plus avancées sur ce sujet. Tous les exemples ne puis-je pas trouver ne semble pas recours à des services ou d'un lien complexe de la fonction.
Veuillez répondre à cette question avec une certaine sorte d'exemple. C'est la ruse que vous le pensez.

Mise à jour: Le fait que "ceci" à l'intérieur de ma fonction de lien est une fenêtre et non pas "MyDirective' n'a pas beaucoup de sens pour moi. Toutes les idées, pourquoi ce serait?

source d'informationauteur user1613512