Как реализовать анализатор ngModel с использованием Typescript

Я работаю над директивой, которая фиксирует дату с помощью UP Bootstrap Datepicker, но я хочу отформатировать введенную дату до ее передачи в связанную модель с использованием директивы ngModel. Это приводит меня к реализации синтаксического анализатора, глядя на определение интерфейса это выглядит так:

interface IModelParser {
  (value: any): any;
}

Когда я пытаюсь определить класс с именем DateFilter, реализуя его, intellisense продолжает показывать мне это:

Тип "DateFilter" обеспечивает несоответствие для подписи "(значение: любое): любое"

Поэтому я хотел бы знать, как мне это реализовать, поскольку в этом определении нет имени метода или свойства. Я знаю, что это такой базовый вопрос, но я искал какой-то пример или документацию по нему безуспешно. Заранее благодарю за любую помощь.

1 ответ

Решение

Я только что нашел это в документации Typescript для интерфейсов. Оказывается, это определение типа функции. Итак, моя реализация теперь выглядит так:

private dateFilter: ng.IModelParser = function (value: any): any {
        //Parse the value here
}

и теперь я могу вставить его в парсеры ngModel:

ngModel.$parsers.push(this.dateFilter);
Другие вопросы по тегам