Как реализовать анализатор 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);