首页 > 解决方案 > 在其他类中使用类属性

问题描述

我已经定义了这个类

const ERR_MSG = 'Error1';


@Service()
export class MutationValidator {
..
}

我在另一个班级使用的

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

const mutationValidator = new MutationValidator();

mutationValidator.ERR_MSG

但是编译时出现此错误

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

标签: javascriptnode.jstypescript

解决方案


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

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

有两种可能的解决方案

首先导出 const 然后使用它:

export const ERR_MSG = 'Error1';

@Service()
export class MutationValidator {
..
}

然后在另一个类中使用它

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

const mutationValidator = new MutationValidator();

console.log(ERR_MSG);

否则您也可以将类ERR_MSG内部的值定义MutationValidator为公共变量并像下面一样使用它

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

在另一个类中,您像使用它一样

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

const mutationValidator = new MutationValidator();

console.log(mutationValidator.ERR_MSG);

推荐阅读