在 vue 模板中使用 Typescript 静态方法

Ste*_*idt 4 typescript vuejs2

我想在 vue 模板中使用 Typescript 静态方法

export class ProjectUI {
  static budget(p: Project): string {
    if (p.budget > 0) {
       return p.budget + "EUR"
    } else {
       return "No budget."
    }
}
Run Code Online (Sandbox Code Playgroud)

并在模板中

:value="ProjectUI.budget(p)"
Run Code Online (Sandbox Code Playgroud)

我不想使用过滤器。Vue 在编译模板时没有找到该方法(因为 ProjectUI.budget 是 TS 语法)。

sro*_*oes 6

您只能使用在您的组件上定义的函数和变量。因此,在您的情况下,您可以将 ProjectUI 类公开为数据变量:

data() {
    return {
        ProjectUI
    }
}
Run Code Online (Sandbox Code Playgroud)