首页 > 解决方案 > 是否可以在打字稿中为函数和函数定义分配类型?

问题描述

我有这个用例:

Angular 有一个用于公共组件功能的TrackByFunction接口。

我想说“这个函数是TrackByFunction直接在组件上的。现在我正在这样做:

  public readonly myObjectTrackingFn: TrackByFunction<MyObject> = (
    _: number,
    myObject: MyObject
  ): MyAlias => {
    return myObject.myDetail.alias;
  }

但是我的一些工具(自动前缀和 lint 库)在识别它们是什么时遇到了问题。

我想写一些类似的东西

<TrackByFunction> public myObjectTrackingFn(_: number, myObject: MyObject): MyAlias {
    return myObject.myDetail.alias;
  }

有可能吗?

标签: angulartypescript

解决方案


我不确定这是否正确,但也许:

function myObjectTrackingFn(
  _: number,
  myObject: MyObject
): TrackByFunction<MyObject> {
  return (): MyAlias => myObject.alias;
}

或者可能:

function myObjectTrackingFn(
  _: number,
  myObject: MyObject
) : TrackByFunction<MyObject>{
  return ((): MyAlias => {
    return myObject.alias;
  })();
}

如果你找到方法,请告诉我!


推荐阅读