我有以下课程:
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;未定义的
答案 0 :(得分:3)
当你使用常量时,你应该使用它们作为injectable(),因为它们在应用程序的生命周期(单例)中保持相同,就像任何其他提供者一样
@Injectable()
export class Constants {
public readonly cREQUESTED_SERVICE: string = "RequestedService";
}
在你的组件中,你应该注入构造函数并使用
constructor(private cons : Constants){}
this.cons.cREQUESTED_SERVICE
答案 1 :(得分:3)
,创建另一个这样的getter方法
import { Constants } from 'your/path/to/this/file/Constants';
export class ServiceComponent {
get ConstantsClass() {
return Constants;
}
}
模板中的
<label>{{ConstantsClass.cREQUESTED_SERVICE}}</label>