如何隐藏Angular 2功能模块中组件的位置?

时间:2017-07-14 11:06:12

标签: angular module

在组件中,我可以通过导入它来使用OnInit

import { OnInit } from '@angular/core';

我不需要知道OnInit来源的确切位置。 Angular / core有一种隐藏确切位置的方法。

我想创建一个功能模块' general'它包含界面' MyInterface',并且可以通过导入它在其他模块中使用它,如

import { MyInterface } from 'general';

如何隐藏MyInterface的确切位置?一些索引文件?

1 个答案:

答案 0 :(得分:0)

您需要从常规中导出类/函数,以便将它们导入到另一个文件中。

  1. 创建文件夹" foo" index.ts general.ts
  2. <强> index.ts

    export * from './general.ts';
    //export * from './subfolder/otherfiles.ts'; 
    

    <强> general.ts

     interface A {
       myRequiredMethod(): void;
    
    }
    
    class B {
        anotherVariable: number = 2;
    
    }
    
    export { A, B };
    

    <强> myAwesomeFile.ts

    import { A, B } from './foo;
    class MyAwesomeFile implements A {
     constructor() { 
        const foo = new B();
        console.log(foo.anotherVariable);
    
     }
     myRequiredMethod() {
       //implements myRequiredMethod from the "A" interface in general.ts
     }
    }