如何在Angular2中的模块下导出类

时间:2018-04-27 02:03:17

标签: angular entity-framework typescript metadata breeze

我在尝试将模块下的类导出到另一个模块时遇到问题。问题是有一个错误说导入的模块不是模块。

这是模块

/// <reference path="sensor_location.ts" />

module LATS.DataModel {

    export class _RegistrationHelper {

        static register(metadataStore) {
        metadataStore.registerEntityTypeCtor('sensor_location', LATS.DataModel.sensor_location);
        }
    }
}

这是我的导入

import {_RegistrationHelper} from '../entities/_RegistrationHelper';

然后我继续在课前删除模块,但出现了另一个错误

Error: Uncaught (in promise): ReferenceError: LATS is not defined

我的问题是删除模块以导出类是否正确,还是有另一种导入模块的方法?我试图在模块之​​前添加导出但是出现错误,说该模块没有导出的成员

1 个答案:

答案 0 :(得分:0)

模块在Angular-Framework中有另一个目的。这是错误的,并且无法在您希望在系统中的其他位置导入的模块中定义类。

您定义的助手类必须放在单独的文件或服务中。

e.g。

辅助-classes.ts

export class _LoginHelper {
  // ...
}

export class _RegistrationHelper {

    static register(metadataStore) {
    metadataStore.registerEntityTypeCtor('sensor_location', LATS.DataModel.sensor_location);
    }
}

//...

或者

helper.service.ts

//... Service-Header and imports

public login(user) {
   //...
}

public register(metadataStore) {
    metadataStore.registerEntityTypeCtor('sensor_location', LATS.DataModel.sensor_location);
    }
}

然后从TS-File中导出该类,或者在需要该方法的任何地方使用该方法。