我有response.ts
个文件,该文件带有变量声明:
export declare var passportInfoResponse: IGetPassportInfoResponse;
在另一个文件中,我将其导入:
import {passportInfoResponse} from '../../models/responses/response';
如何填充此变量?我尝试过:
passportInfoResponse = data;
此变量应为全局变量。
答案 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函数一起使用。