[英]How to call a function from another class into another function
我正在尝试在我的应用程序中实现i18n
模块。 为此,我正在制作一个翻译字符串的实用程序。 看起来像:
import { I18nService } from "nestjs-i18n";
export class UtilsService {
constructor(private readonly i18n: I18nService){}
translateKey(msgKey){
let message = this.i18n.translate(msgKey, {
lang: 'en'
})
return message
}
}
但是现在当我试图在其他地方使用这个 function 时,我得到了一个错误。 我究竟做错了什么??
我试图在这样的 ResponseError 中调用它:
export class ResponseError implements ResponseFormatter {
constructor(infoMessage: string, data?: any, errCode?: number) {
this.success = false;
this.message = infoMessage;
this.data = data;
this.errCode = errCode;
console.log(UtilsService.translateKey(infoMessage))
Logger.warn(
`${new Date().toString()
} - [Response]: ${
infoMessage
}${data ? ` - ${ JSON.stringify(data)}` : ''}`,
);
}
message: string;
data: any[];
errorMessage: any;
error: any;
success: boolean;
errCode: number;
}
您可以从UtilsService
singleton
导出 object 代替:
import { I18nService } from "nestjs-i18n";
class I18NTranslator {
private i18n!: I18nService;
constructor(){
i18n = new I18nService();
}
translateKey(msgKey){
let message = this.i18n.translate(msgKey, {
lang: 'en'
})
return message
}
}
export const UtilsService = new I18NTranslator();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.