Implémentation des directives angularjs en tant que classes dans Typescript

Après avoir pris un coup d'oeil à certains des exemples de directives angularjs en caractères d'imprimerie, il semble que la plupart des gens sont d'accord pour utiliser des fonctions au lieu de classes lors de leur mise en œuvre.

Je préfère avoir en classe et a tenté de les mettre en œuvre comme suit:

module directives
{    
    export class search implements ng.IDirective
    {        
        public restrict: string;
        public templateUrl: string;

        constructor()
        {            
            this.restrict = 'AE';
            this.templateUrl = 'directives/search.html';
        }

        public link($scope: ng.IScope, element: JQuery, attributes: ng.IAttributes)
        {
            element.text("Hello world");

        }
    }
} 

Maintenant cela fonctionne bien. Cependant, j'ai besoin d'avoir un isolé portée avec certains attributs et j'ai du mal à savoir comment l'inclure dans la classe elle-même.

logique dicte que depuis que je peux avoir

public restrict: string;
public templateUrl: string;

Je devrais être en mesure d'avoir quelque chose comme:

public scope;

Mais je ne sais pas si c'est correct ou comment mener à partir de là (j'.e comment ajouter les attributs de la portée).

Ce que quelqu'un sait comment résoudre ce problème? (espérons-le, sans avoir à revenir à une fonction si possible)

Merci,

source d'informationauteur user1435899