Как экспортировать класс под модуль в Angular2 - PullRequest
0 голосов
/ 27 апреля 2018

Я столкнулся с проблемой при попытке экспортировать класс, который находится в модуле, в другой модуль. Проблема была в том, что импортированный модуль не является модулем.

Вот модуль

/// <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 голосов
/ 27 апреля 2018

Модуль имеет другое назначение в Angular-Framework. Это неправильно и не работает для определения классов в модуле, который вы хотите импортировать в другое место в системе.

Определенный вами вспомогательный класс должен быть помещен в отдельный файл или службу.

, например

хелперы-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-файла или используйте метод из службы там, где вам нужен метод.

...