在 Angular HTML 中使用导入的 Typescript 函数

nas*_*ras 5 html components typescript angular

我有一个 TypeScript 实用程序类,myUtils.ts如下所示:

export class MyUtils {
  static doSomething(input: string) {
    // do something
  }
} 
Run Code Online (Sandbox Code Playgroud)

我想在组件的 HTML 中调用此方法。为了做到这一点,我在我的组件中导入了这个类

import { MyUtils } from './utils'
Run Code Online (Sandbox Code Playgroud)

并在组件的 HTML 中使用,如下所示:

<ng-template #dynamicTableCell let-entry>  
  {{ MyUtils.doSomething(entry) }}
</ng-template>
Run Code Online (Sandbox Code Playgroud)

HTML 正在抱怨Unresolved variable or type MyUtils. 有趣的是,我能够执行相同的操作,MyUtils.doSomething(someEntry)而组件component.ts文件中不会出现任何错误。它只是在抱怨 HTML。

有人可以告诉我如何解决 HTML 中的这个问题吗?提前致谢。

cot*_*riv 5

您不能使用它,因为模板表达式仅限于引用组件实例的成员,您需要在组件中创建该方法,或者在您的情况下使用 Angular 管道。

组件.ts

import { MyUtils } from './utils';
...

doSomething(entry) {
  MyUtils.doSomething(entry);
}



// or

doSomething = MyUtils.doSomething;
Run Code Online (Sandbox Code Playgroud)

您可以查看模板表达式文档。