如何引用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) {};
但我想以更加命名空间的方式使用该定义,如上例所示。我该如何做到这一点?
答案 0 :(得分:2)
类型别名不是命名空间,你不能像那样引用它的内部属性 只需使用另一个命名空间/模块:
declare module Def {
module TFoo {
type bar = (...args) => void;
}
}