代码之家  ›  专栏  ›  技术社区  ›  Pavel_K

如何在TypeScript中导出带有静态嵌套类的类?

  •  0
  • Pavel_K  · 技术社区  · 7 年前

    this

    class Album {
        label: Album.AlbumLabel;
    }
    namespace Album {
        export class AlbumLabel { }
    }
    

    export class Album {
        label: Album.AlbumLabel;
    }
    namespace Album {
        export class AlbumLabel { }
    }
    

    我明白了 Individuals declarations in merged declaration 'Album' must be all exported or all local . 如何修复它?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Fenton    7 年前

    选项一是按照编译器的指示执行,并同时导出:

    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 唱片公司

    如果保留嵌套,则必须使用以下任一选项:

    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 { }
    
    推荐文章