Angular 环境与常量的useValue
假设我有一组链接,我想将它们添加到单独的文件中,如下所示:Angular 环境与常量的useValue,angular,typescript,angular-material,Angular,Typescript,Angular Material,假设我有一组链接,我想将它们添加到单独的文件中,如下所示: export const SITE_LINKS = [ { text: 'About', path: '/about' }, { text: 'Projects', path: '/projects } ] 我将在两个位置使用它们:header.component.ts和footer.component.ts <ul> <li *ngFor="let link of links"&
export const SITE_LINKS = [
{ text: 'About', path: '/about' },
{ text: 'Projects', path: '/projects }
]
我将在两个位置使用它们:header.component.ts
和footer.component.ts
<ul>
<li *ngFor="let link of links">
<a [routeLink]="link.path">{{ link.text }}</a>
</li>
</ul>
const siteLinks=new InjectionToken('site links'))
供应商:[
{提供:站点链接:使用值:站点链接}
]
我想知道w/c一种是更好的方法,在什么情况下我应该选择一种方法而不是另一种方法?
environment.ts
<ul>
<li *ngFor="let link of links">
<a [routeLink]="link.path">{{ link.text }}</a>
</li>
</ul>
- 如果您正在处理有关重要凭据或配置的常量,例如API端点、应用程序ID、密钥和其他在每个环境中都会发生更改的类似项,请使用此选项
- 切换环境时即将更改的变量,例如
dev、prod、test
- 查看
,我认为把它放在这里是不对的,不管环境如何,我认为站点链接
中的项目仍然会保持不变站点链接
提供商
- 是的,你可以用这个
备选方案
- 如果这些
SITE\u链接将只用于页眉和页脚,并且它们位于/shared文件夹中,我建议创建
(或您希望命名的任何目录名),以保存这些类型的公共/常量数据,并直接将它们的路径导入它们将使用的指定组件/constants
谢谢你的回复。我想知道哪种方法更好,有不同的方法。我想在这种情况下我会选择直接导入方法。只有一个问题,像API密钥这样的私有数据不是以这种方式安全吗,因为它们将包含在构建中?
const siteLinks = new InjectionToken<string[]>('site links')
providers: [
{ provide: siteLinks: useValue: SITE_LINKS }
]
/constants
site-links.constant.ts