如何在TypeScript中导出变量并将其填充?

时间:2018-08-28 21:11:06

标签: typescript typescript2.0

我有response.ts个文件,该文件带有变量声明:

export declare var passportInfoResponse: IGetPassportInfoResponse;

在另一个文件中,我将其导入:

import  {passportInfoResponse} from '../../models/responses/response';

如何填充此变量?我尝试过:

passportInfoResponse = data;

此变量应为全局变量。

1 个答案:

答案 0 :(得分:1)

最佳解决方案是使用角度服务来提供此值/更改它。但这是在Angular情况下。

如果您仍然想按照自己的方式/通常的情况,则不能将其分配给导入的令牌。您可以做的是创建一个更改值的setter函数:

interface IGetPassportInfoResponse {}

export declare var passportInfoResponse: IGetPassportInfoResponse;

export function setPassportInfoResponse(val: IGetPassportInfoResponse) {
  passportInfoResponse = val;
}

并使用导入的函数而不是赋值来设置值

import  {passportInfoResponse, setPassportInfoResponse} from '../../models/responses/response';

console.log(passportInfoResponse);

const data = {};

setPassportInfoResponse(data);

console.log(passportInfoResponse);

实际上Angular似乎正在将这种方法与enableProdMode函数一起使用。