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

前端之家收集整理的这篇文章主要介绍了如何访问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中,模板只能访问组件类的字段和方法。其他一切都是禁区。这包括组件类可见的内容

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

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

猜你在找的Angularjs相关文章