我创建了一个简单的服务(MyService),它有一个静态公共(public)函数 称为 hello,它返回字符串“hello”
在另一个组件中,我导入 MyService 并希望将 hello 输出放置在模板中的表达式中,如下所示:
{{ myService.hello() }}
我能够使用非静态方法(使用在组件构造函数中注入(inject)的实例)来完成这项工作:
{{ myInstance.hello() }}
但我似乎无法使用静态方法进行等效操作。浏览器提示 hello 不是一个函数。为什么不呢?
最佳答案
静态方法不能直接在模板中使用。
模板的范围是组件实例,并且在绑定(bind)中只能引用此范围中的标识符。
export class MyComponent {
hello = MyService.hello
}
允许
{{hello()}}
关于angular - 在组件模板中使用服务中的静态函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45924725/