不了解Typescript中的重载

时间:2016-02-18 07:49:53

标签: typescript overloading

我有以下内容:

class Test {
  setContent(data:number, startWith, nameFn, selectedParentID);
  setContent(data:number) {
    return 22;
  }
}

var t = new Test();
t.setContent(22);

在线t.setContent VS代码和VS 2013告诉我:"提供的参数与呼叫目标的任何签名都不匹配"。根据错误,我只能用4个参数调用函数。

documentation没有任何可变参数量的示例,所以我不知道这里应该是什么样的正确语法。

1 个答案:

答案 0 :(得分:1)

实现必须为所有可能的参数提供签名,所以

setContent(data:number): number;
setContent(data:number, startWith?: any, nameFn?: any, selectedParentID?: any): number{
  return 22;
}

会起作用

请查看此excellent handbook的“重载”段落了解详情