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}