2017-05-23 43 views
0

當調用函數f時,它返回bar,以便我可以再調用bar.baz()。然而,typescript抱怨Property baz does not exist on type (selection: any) =>() => void我怎樣才能聲明酒吧的baz屬性來進行編譯?如何聲明對象上返回的函數屬性的類型

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

     } 
     return bar 
    } 

(順便說一句,我有一個angular2打字稿項目中的代碼,這是非常無情的。其他的打字稿項目,我就允許你忽略打字稿錯誤的工作,但這個角啓動項目真的贏了」所以我堅持下去,直到打字稿問題得到解決)

+0

https://stackoverflow.com/questions/18083389/ignore-typescript-errors-property-does-not-exist-on-value-of-type –

回答

2

你的意思是?

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 
}