建议添加到全局窗口对象吗?

时间:2019-05-29 04:02:01

标签: javascript reactjs typescript

所以我正在一个React / Typescript项目中,我需要在其中存储一个需要全局访问的行数的值。

在窗口对象上定义它是一个好主意吗?

window.MySpace = {};
MySpace.rowCount = 10;

随着项目的发展,是否会出现任何问题?还是有一种更优雅的方式通过Typescript处理此问题?

谢谢!

编辑:

将其声明为module.ts文件中的模块

export module Global {
    export const rowCount = 10;
}

然后将其导入到需要rowCount值的文件中。

2 个答案:

答案 0 :(得分:0)

  

我需要在其中存储需要全局访问的行数的值

如果您必须具有全局性,那么您可以将其放在window上。最大的担忧是命名MySpace冲突。

重新思考

但是,您可能全局不需要它,实际上您应该使用一个模块。

答案 1 :(得分:0)

当您需要存储需要全局访问的值时,请创建一个具有唯一名称的全局对象,并将您的变量作为该对象的属性:

window.MySpace= {};

然后以您喜欢的任何方式使用它。 与功能

一起使用
MySpace.show();
MySpace.hide();

为其分配值

MySpace.value=1;
MySpace.value=2;

不同的处理方式

MySpace.rowCount = 10;

是的,有时在窗口对象上定义它是一个好主意,某些情况下需要其他定义方法。

你很好走!!