【问题标题】:how to declare type of function property returned on object如何声明对象上返回的函数属性的类型
【发布时间】:2017-10-22 19:34:38
【问题描述】:

当函数f被调用时,它返回bar,这样我就可以调用bar.baz()。但是,typescript 抱怨 Property baz does not exist on type (selection: any) => () => void 如何声明 bar 的 baz 属性以使其编译?

   var f = function foo(){
        function bar(selection : any){
        }
        bar.baz = function(value){

        }
        return bar 
    }

(顺便说一句,我在 angular2 typescript 项目中有这段代码,它非常无情。我从事的其他 typescript 项目允许您忽略 typescript 错误,但是这个 angular starter 项目真的无法编译,所以我'在打字稿问题解决之前一直卡住)

【问题讨论】:

标签: typescript


【解决方案1】:

你是这个意思吗?

interface foo {
    (selection: any): void;
    baz: (value) => void;
}
var f = function () {
    var bar: foo = function (selection: any) {
    } as any
    bar.baz = function (value) {
    }
    return bar
}

【讨论】:

    猜你喜欢
    • 2021-09-03
    • 2020-09-28
    • 1970-01-01
    • 2022-11-17
    • 2012-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多