假设我有一个对应类的角度分量。

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

export class TestComponent
{}

然后我有一个带有静态成员的类(绑定到类而不是实例)。
export class Config
{
    public static foo () : string
    {  return "blabla"; }
}

有没有办法在组件模板中调用config.foo?
template: ` {{ Config.foo () }} `

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

但那不是我想要的。
配置应该包含全局配置信息,我不想在很多组件中包含任何信息。
还是有更优雅的方式?我考虑过注入(singleton),但对于无状态常量信息,我更喜欢静态方式。
谢谢!

最佳答案

在模板中不能调用Config.foo方法是正常的。
在模板中,双括号({{}})中的表达式被“限定”到组件本身:this被隐式放在表达式上。
在这种情况下,我经常使用的是“getter”,比如:

get configFoo(): string { return Config.foo(); }

在模板中,它如下所示:
{{configFoo}}

07-24 18:04
查看更多