从HTML中调用静态TypeScript函数

时间:2019-04-19 07:28:14

标签: html angular typescript function

我想从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类)?

1 个答案:

答案 0 :(得分:2)

静态方法可在上访问,而不是DI注入的实例。如果您希望该模板代码正常工作,则必须执行例如

this.stateDetails = true / false

使该类在模板作用域中可作为Message使用。

也就是说,尚不清楚该方法为何是静态的,或者只有静态方法的可注入服务的意义是什么。