как определить статические константы в машинописном и угловом - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть куча констант, связанных с бизнесом, и я должен хранить их в Angular. Что-то вроде ниже

STUDENT_NAMES= ["JOHN","BOB","NICK"]
TEACHER_NAME = ["HARRY","CHRIS"]
 SCHOOL_CODE = [100,102,107];

У меня их много, и они вроде статичны ... Они нужны мне в большинстве моих классов обслуживания. Какое лучшее место для их хранения? Должен ли я создать интерфейс и позволить моему классу обслуживания наследовать их? В Java мы определяем класс открытых статических конечных констант, а другие классы используют их. Как это, как печатать на машинке?

Ответы [ 4 ]

0 голосов
/ 06 ноября 2018

Добавьте все свои константы в файл environment.ts - это лучшая практика, и значения не изменятся в зависимости от конкретной среды

Добавьте как environment.ts, так и environment.prod.ts - это будет ваш глобальный объект, к которому можно получить доступ на любом уровне

Импорт будет аналогичен импорту интерфейса или любого класса Спасибо - Счастливого кодирования

0 голосов
/ 06 ноября 2018

Вы можете создать файл TS constants.ts, содержащий все ваши константы:

export const constants = {
   STUDENT_NAMES: ["JOHN","BOB","NICK"],
   TEACHER_NAME: ["HARRY","CHRIS"],
   SCHOOL_CODE: [100,102,107]
};

Тогда всякий раз, когда вам нужна константа, вы можете назвать ее следующим кодом:

let studentsNames : any = constants.STUDENT_NAMES;

С уважением,

0 голосов
/ 06 ноября 2018

Определите абстрактный класс для ваших констант:

export abstract class Constants {
  static readonly STUDENT_NAMES: string[] = ["JOHN", "BOB", "NICK"];
  static readonly TEACHER_NAME: string[] = ["HARRY", "CHRIS"];
  static readonly SCHOOL_CODE: number[] = [100, 102, 107];
}

Затем включите этот класс везде, где нужно, с import { Constants } from '...'; и используйте его значения с const names: string[] = Constants.STUDENT_NAMES;

Что касается имен, я согласен с @AdrianBrand, чтобы они предпочитали такие имена, как studentNames, teacherNames и schoolCodes.

0 голосов
/ 06 ноября 2018

Вы помещаете их в файл TypeScript и импортируете их при необходимости.

export const STUDENT_NAMES: string[] = ["JOHN","BOB","NICK"];

Поместите это в student-names.ts

import { STUDENT_NAMES } from './path/cosnstants/student-names';

где вам это нужно.

Лично я бы назвал их studentNames, а не STUDENT_NAMES, но это дело вкуса.

...