AngularJS директивите определят контролер, използвайки:
{
controller: function ($scope){}
}
Досега не съм намерил начин, по който мога да създам клас TypeScript и да го присвоя на свойството на контролера на директива.
Това, което бих искал да направя, е нещо подобно
interface IDirectiveController{
myProperty:string;
}
class DirectiveController implements IDirectiveController{
static $injector = [$scope];
constructor ($scope:ng.IScope){
this.myProperty = 'default';
}
public myProperty:string;
}
var directive:ng.IDirective =
{
controller:DirectiveController;
}
return directive;
Още по-добре, би било хубаво, ако може да се използва фабрична функция, която да ми позволи да създам и върна нов екземпляр на контролера, подобно на това как се инстанцира самата директива.
В моя шаблон на директива бих искал също да се обвържа директно към контролера, вместо да се налага да присвоявам свойствата на класа на $scope.
Друг начин да заявя това може да е да кажа, че бих искал да мога да присвоявам контролери на директиви по начин, подобен на присвояването на контролер, използвайки синтаксиса myController as ContollerType
, който е наличен в шаблон.