javascript - 在其他类中使用类属性

标签 javascript node.js typescript

我已经定义了这个类

const ERR_MSG = 'Error1';


@Service()
export class MutationValidator {
..
}

我在另一个类(class)使用

import { MutationValidator }     from './mutation.validator';

const mutationValidator = new MutationValidator();

mutationValidator.ERR_MSG

但是编译的时候出现这个错误

Property 'ERR_MSG' does not exist on type 'MutationValidator'.

最佳答案

您需要导出 const ERR_MSG = 'Error1'; 与导出服务类 MutationValidator 的方式类似。

此外,因为它是在 MutationValidator 范围之外定义的,所以您不能从 MutationValidator 中调用它。

有两种可能的解决方案

先导出常量再使用:

export const ERR_MSG = 'Error1';

@Service()
export class MutationValidator {
..
}

然后在另一个类中使用它作为

import { MutationValidator, ERR_MSG }     from './mutation.validator';

const mutationValidator = new MutationValidator();

console.log(ERR_MSG);

或者您也可以在 MutationValidator 类中将 ERR_MSG 的值定义为公共(public)变量,并像下面这样使用它

@Service()
export class MutationValidator {
  ERR_MSG = 'Error1';
  ..
}

在另一个类中你可以像这样使用它

import { MutationValidator }     from './mutation.validator';

const mutationValidator = new MutationValidator();

console.log(mutationValidator.ERR_MSG);

关于javascript - 在其他类中使用类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59388075/

相关文章:

javascript - 使表单在 keydown 事件上可见,然后聚焦并清除输入字段

javascript - 获取选中的元素并用逗号分隔它们,最后一个元素用 "and"分隔

Angular 2 Animation - bool 触发器?

namespaces - 如何访问全局命名空间中与模块中名称相同的内容?

javascript - 需要发送 &search=1 命令并提交

javascript - 删除没有 ID 和特定内容的元素/节点

node.js - Cloud9 安装问题

javascript - javascript类声明之间的区别

node.js - 我如何使用 passport-local.js 存储其他表单字段

javascript - 如何使用 Jest 和 typescript 模拟模块变量