2017-06-21 11 views
1

タイプスクリプト定義のネストされたプロパティのタイプをどのように参照しますか?私は別にそれを定義し、それを参照することができます知っているTypescript:インターフェイス上でネストされた型を参照する方法は?

// def.d.ts 
declare module Def { 
    type TFoo = { 
     bar: (...args) => void; 
    } 
} 

// script.ts 
const bar: Def.TFoo.bar = function() {}; // Error TS2694: Namespace 'Def' has no exported member 'TFoo' 

// def.d.ts 
declare module Def { 
    type TFooBar = (...args) => void; 
    type TFoo = { 
     bar: TFooBar; 
    } 
} 

// script.ts 
const bar: Def.TFooBar = function (...args) {}; 

しかし、私は上記の例のように、より多くの名前空間のスタイルで定義を使用したいと思いますこれは私が試したものです。私はそれをどのように達成するのですか?

答えて

2

タイプエイリアスは名前空間ではありません。そのような内部プロパティを参照することはできません。
別の名前空間/モジュールを使用してください:

declare module Def { 
    module TFoo { 
     type bar = (...args) => void; 
    } 
} 
関連する問題