微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何访问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中,模板只能访问组件类的字段和方法。其他一切都是禁区。这包括组件类可见的内容

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

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

原文地址:https://www.jb51.cc/angularjs/144008.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐