为了创建嵌套的静态类,我遵循this
class Album {
label: Album.AlbumLabel;
}
namespace Album {
export class AlbumLabel { }
}
但是,我也需要导出类Album。当我这样做
export class Album {
label: Album.AlbumLabel;
}
namespace Album {
export class AlbumLabel { }
}
我得到Individuals declarations in merged declaration 'Album' must be all exported or all local
。如何解决?
答案 0 :(得分:1)
第一种方法是按照编译器的指示进行操作,并同时导出两者:
export class Album {
label: Album.AlbumLabel;
}
export namespace Album {
export class AlbumLabel { }
}
选项二是一个摆变量,但是您有一个命名难题:
class Album {
label: Album.AlbumLabel;
}
namespace Album {
export class AlbumLabel { }
}
export const NameMe = Album;
第一种选择是更好的选择(我认为)。
如果您想直接导入AlbumLabel
,请不要嵌套。它已经在模块中,因此模块已导出Album
和AlbumLabel
。
如果保留嵌套,则必须使用以下任一方法:
import { Album } from './component.js';
const a = new Album.AlbumLabel();
或引入一个本地名称:
import { Album } from './component.js';
const AlbumLabel = Album.AlbumLabel;
const a = new AlbumLabel();
以下是允许import { AlbumLabel } from './album';
export class Album {
label: AlbumLabel;
}
export class AlbumLabel { }