如何访问Angular 2组件和服务中的常量?

我有一个常量文件constants.ts:
export const C0NST = "constant";

我在服务some.service.ts中访问它,如下所示:

import { C0NST } from './constants';

console.log(C0NST); // "constant"

但是,当我在组件模板中访问它时:

some.component.ts:

import { C0NST } from './constants';

some.component.html:

{{ C0NST }} <!-- Outputs nothing -->

但是,在组件类中定义成员有效:

some.component.ts

public const constant = C0NST;

some.component.html

{{ constant }} <!-- constant -->

我不明白为什么我能够直接在服务类中访问导入的常量,但不能在组件模板中访问,即使我在组件类中导入它。

在Angular2中,模板只能访问组件类的字段和方法。其他一切都是禁区。这包括组件类可见的内容

解决这个问题的方法是在组件内部有一个字段,它只引用常量,然后使用它。

这是设计的一个限制,但也许您应该更多地了解为什么首先需要模板中的常量。通常这些东西由组件本身或服务使用,但不是模板。

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...