2017-05-23 9 views
0

関数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ですプロジェクトコンパイルするとタイスクリプトの問題が解決されるまで続きます)

+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 
} 
関連する問題