我想从Angular 7的HTML中调用静态类方法/函数。此函数不在component.ts
中,但在单独的常规类文件message.ts
中。
控制台上显示错误:
TypeError: Cannot read property 'msg1' of undefined.
模板:
<div>
{{ Message.msg1({ 'x': 'abc', 'y': 'def' }) }}
</div>
message.ts
:
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class Message {
constructor() { }
public static msg1 (items: []): string {
// some code
}
}
我想要什么?如果是,如何获取HTML范围内的消息文件(以及Message类)?
答案 0 :(得分:2)
静态方法可在类上访问,而不是DI注入的实例。如果您希望该模板代码正常工作,则必须执行例如
this.stateDetails = true / false
使该类在模板作用域中可作为Message使用。
也就是说,尚不清楚该方法为何是静态的,或者只有静态方法的可注入服务的意义是什么。