Mou*_*iri 8 typescript angular
要声明一个常量文件,我首先在与使用常量的组件相同的树级别中创建它email.constants.ts,如下所示:
export class EmailConstants {
public static MAXIMUM_NUMBER = 10;
}
Run Code Online (Sandbox Code Playgroud)
我以这种方式从控制器导入它:
import { EmailConstants } from './emails.constants';
Run Code Online (Sandbox Code Playgroud)
这种做法好吗?我在这里问这个问题是因为我在官方指南风格中找不到答案
Ngu*_*ien 23
我会这样做:
export const MAXIMUM_NUMBER = 10;
Run Code Online (Sandbox Code Playgroud)
和
import { MAXIMUM_NUMBER } from './emails.constants';
Run Code Online (Sandbox Code Playgroud)
所以只导入你使用的东西,而不是所有的东西。
但是如果你仍然想使用一切,你可以像你所做的那样做,只是稍微改变一下:
import * as EmailConstants from './emails.constants';
Run Code Online (Sandbox Code Playgroud)
然后你仍然可以使用
EmailConstants.MAXIMUM_NUMBER
Run Code Online (Sandbox Code Playgroud)
Tus*_*ade 11
为常量创建一个单独的文件是一个很好的做法。在哪里,可能有多种情况,我更喜欢/推荐以下第二种情况-
1)根据需要导出每个常量并导入;如果你没有太多的常量。
export const TEST = "testval";
export const TEST2 = "testval2";
Run Code Online (Sandbox Code Playgroud)
导入为 -
import { TEST, TEST2 } from './app.constants';
Run Code Online (Sandbox Code Playgroud)
2)如果您有太多常量并想要轻松导入,请创建并导出单个Injectable类。
所以,你的app.constants.ts将是 -
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class AppConstants {
public TEST = "testval";
public TEST2 = "testval2";
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以简单地将它注入到您需要的类中,例如 -
constructor(private constants: AppConstants) & 用于 - constants.TEST
3)您还可以将对象导出为 -
export const constObj = {
TEST: "testval",
TEST2: "testval2"
};
Run Code Online (Sandbox Code Playgroud)
并将其导入为 -
import { constObj } from './app.constants'; & 用于 - constObj.TEST
| 归档时间: |
|
| 查看次数: |
16305 次 |
| 最近记录: |