chr*_*s01 2 typescript angular
可以说我在相应的类中有一个角度分量。
@Component({
selector: "test",
template: ` whatever `
})
export class TestComponent
{}
Run Code Online (Sandbox Code Playgroud)
然后我有一个带有静态成员的类(绑定到该类而不是实例)。
export class Config
{
public static foo () : string
{ return "blabla"; }
}
Run Code Online (Sandbox Code Playgroud)
有什么方法可以在组件模板中调用Config.foo?
template: ` {{ Config.foo () }} `
Run Code Online (Sandbox Code Playgroud)
如果将它包装在TestComponent中并在我的组件中调用它,它将起作用。
template: `{{ myfoo () }}`
...
export class TestComponent
{
myfoo ()
{ return Config.foo (); }
}
Run Code Online (Sandbox Code Playgroud)
但这不是我想要的。
Config应该包含全局配置信息,而我不想在许多组件中包装任何信息。
还是有一些更优雅的方式?我考虑过注入(单例),但是我更喜欢使用静态方式获取无状态的常量信息。
谢谢!
这是正常的,您无法Config.foo在模板内调用方法。
在模板内部,双括号({{}})内的表达式“作用域”于组件本身:this暗含在表达式上。
在这种情况下,我经常使用的东西是“吸气剂”,如下所示:
get configFoo(): string { return Config.foo(); }
Run Code Online (Sandbox Code Playgroud)
在模板内部,它看起来像这样:
{{configFoo}}
Run Code Online (Sandbox Code Playgroud)