Итак, взглянув на некоторые из примеров директив angularjs в typescript, большинство людей соглашаются использовать функции вместо классов при их реализации.
Я бы предпочел использовать их как класс и попытался реализовать их следующим образом:
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");
}
}
}
Теперь это работает отлично. Тем не менее, мне нужно иметь изолированную область видимости с некоторыми атрибутами, и я изо всех сил пытаюсь выяснить, как включить это в сам класс.
логика диктует, что, поскольку я могу иметь
public restrict: string;
public templateUrl: string;
Я должен иметь что-то вроде:
public scope;
Но я не уверен, что это правильно или как продолжить оттуда (например, как добавить атрибуты в область).
Кто-нибудь знает, как это решить? (надеюсь, без необходимости возвращаться к функции, если это возможно)
Спасибо,