Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 命名空间没有导出的成员_Typescript - Fatal编程技术网

Typescript 命名空间没有导出的成员

Typescript 命名空间没有导出的成员,typescript,Typescript,当我在TypeScript中写这篇文章时,我得到一个错误,说名称空间栏没有导出的成员Qux。为什么会这样?我该如何修复它 class Foo{} 名称空间栏 { 导出常量Qux=Foo; } 让a:Bar.Qux; 实现中的Qux是一个变量而不是一种类型。 因此,以下代码是有效的: class Foo {} namespace Bar { export const Qux = Foo; } let a = Bar.Qux; 如果您想将Qux用作接口或扩展类,您可以执行以下操作: c

当我在TypeScript中写这篇文章时,我得到一个错误,说
名称空间栏没有导出的成员Qux
。为什么会这样?我该如何修复它

class Foo{}
名称空间栏
{
导出常量Qux=Foo;
}
让a:Bar.Qux;

实现中的
Qux
是一个变量而不是一种类型。
因此,以下代码是有效的:

class Foo {}

namespace Bar {
    export const Qux = Foo;
}

let a = Bar.Qux;
如果您想将
Qux
用作
接口
或扩展
,您可以执行以下操作:

class Foo {}

namespace Bar {
    export class Qux extends Foo {}
}

let a = new Bar.Qux();

这能解决您的问题吗?

您导出的是常数,而不是类型。您可以这样做
a=newbar.Foo()
,并且
a
将是Foo类型

如果要同时导出类型和常量:

namespace Bar
{
    export const Qux = Foo;
    export type Qux = Foo;
}
然后你可以有:

let a: Bar.Qux = new Bar.Qux();
TypeScript将根据上下文确定您使用的是类型定义还是常量