我有一个常量文件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 举报,一经查实,本站将立刻删除。