Как определить статические константы в машинописном тексте и angular

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

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

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

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
24
0
39 706
5

Ответы 5

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

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

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

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

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

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

Вы можете создать 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;

С уважением,

Но тогда вы явно не объявляете типы констант, так что это не очень типографский подход, и они не являются постоянными - их можно переназначить.

Tom 01.04.2019 16:56

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

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.

Редактировать: TypeScript 3.4 представил так называемый Утверждения const, который также может подойти:

export const constants = {
  studentNames: ["JOHN", "BOB", "NICK"],
  ...
} as const;

Лучший способ создавать константы. Спасибо.

Bikash Shrestha 29.04.2021 18:15

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

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

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

Я бы рекомендовал использовать переменные среды только для вещей, которые меняются между средами dev, test и prod, такими как конечные точки api, я бы не загрязнял их каждой константой в вашем приложении.

Adrian Brand 07.11.2018 01:58

Затем вы можете экспортировать отдельный файл const. Файл и получить данные

Rahul 07.11.2018 03:45

вы можете попробовать перечисления, это позволит вам определить набор именованных констант. Обратитесь к этому документу.

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

Другие вопросы по теме