无法在组件模板中使用模型

时间:2017-04-09 08:25:59

标签: angular

我有以下课程:

export class Constants {

public static cREQUESTED_SERVICE: string = "RequestedService";
}

我有组件(Service.component.ts)的以下模板(Service.component.html):

<label>{{Constants.cREQUESTED_SERVICE}}</label>

我已经在(Service.component.html)中导入了(常量)类。问题是:标签显示为空,并在控制台中记录以下错误:

Subscriber.js:240 Uncaught TypeError:无法读取属性&#39; cREQUESTED_SERVICE&#39;未定义的

2 个答案:

答案 0 :(得分:3)

当你使用常量时,你应该使用它们作为injectable(),因为它们在应用程序的生命周期(单例)中保持相同,就像任何其他提供者一样

@Injectable()
export class Constants {

public readonly cREQUESTED_SERVICE: string = "RequestedService";
}

在你的组件中,你应该注入构造函数并使用

constructor(private cons : Constants){}

this.cons.cREQUESTED_SERVICE

答案 1 :(得分:3)

在您的Service.component.ts中

,创建另一个这样的getter方法

import { Constants } from 'your/path/to/this/file/Constants';

export class ServiceComponent {
  get ConstantsClass() {
    return Constants;
  }
}
模板中的

<label>{{ConstantsClass.cREQUESTED_SERVICE}}</label>