Angular 角度:访问组件模板内部的外部静态类

Angular 角度:访问组件模板内部的外部静态类,angular,typescript,Angular,Typescript,假设我有一个具有相应类的角度分量 @Component({ selector: "test", template: ` whatever ` }) export class TestComponent {} 然后我有一个静态成员的类(绑定到类而不是实例) 有没有一种方法可以在组件的模板中调用Config.foo template: ` {{ Config.foo () }} ` 如果我将它包装在TestComponent中并在我的组件中调用它,它就会工作 temp

假设我有一个具有相应类的角度分量

@Component({
  selector: "test",
  template: `       whatever    `
})

export class TestComponent
{}
然后我有一个静态成员的类(绑定到类而不是实例)

有没有一种方法可以在组件的模板中调用Config.foo

template: ` {{ Config.foo () }} `
如果我将它包装在TestComponent中并在我的组件中调用它,它就会工作

template: `{{ myfoo () }}`
...
export class TestComponent
{
  myfoo ()
  { return Config.foo (); }
}
但那不是我想要的

配置应该包含全局配置信息,我不想在很多组件中包装任何信息

还是有更优雅的方式?我考虑过注入(单例),但对于无状态常量信息,我更喜欢静态方式


谢谢

在html模板上无法直接访问静态Mamber。这些Mamber仅用于创建单音对象和直接访问其他类。因此,我们必须创建一个非静态方法来在html模板中返回它的值。模板用“this”绑定,该类与该模板关联。

这是正常的,您不能在模板内调用
Config.foo
方法

在模板中,双括号(
{{}
)内的表达式“作用域”为组件本身:
隐式放在表达式上

在这种情况下,我经常使用的是“getter”,如下所示:

get configFoo(): string { return Config.foo(); }
{{configFoo}}
在模板内部,它如下所示:

get configFoo(): string { return Config.foo(); }
{{configFoo}}
您可以使用“全局”服务(在主模块中提供)并通过它在组件之间传递变量,也可以作为对组件的引用。因此,在构造函数中,您应该将服务作为公共属性注入,然后在视图
{{myServiceInstance.mypropofncall}