0
给定以下代码,例如一个角度滤波器:在TypeScript中调用构造函数返回的函数
class ToLowerFilter
{
constructor()
{
return (value: string) => value.toLowerCase();
}
}
myAngularApp.filter("toLower", ToLowerFilter);
如果我想在另一个上下文中使用此,通常你可以注入$filter
参考,并做一些事情,如:
var filteredValue = $filter('toLower')(myValueToBeLowered);
然而,打字稿编译器抱怨这个,说$filter(...)
不返回可调用类型。
如果我想直接使用ToLowerFilter
类,那么如何使用TypeScript来做到这一点?这些方法都不奏效:(打字稿要么生成transpile错误,或者它不是正确的JavaScript语法)
// define $filter: ng.IFilterService
var filteredValue = $filter('toLower')(value);
var filter = new ToLowerFilter();
var filteredValue = filter(value);
var filteredValue = new ToLowerFilter(value);
var filteredValue = new ToLowerFilter()(value);
为什么不让ToLowerFilter函数返回一个函数? –