gpt4 book ai didi

javascript - 如何在多个文件之间共享全局变量?

转载 作者:太空宇宙 更新时间:2023-11-03 21:49:12 26 4
gpt4 key购买 nike

我有两个文件都需要全局变量。我有一个点击按钮。单击后,将运行一个函数。代码如下所示:

文件1:

var globalVar = '', // The global variable

<button onClick = {() => this.edit(arg1)}></button>
function edit (arg1){

globalVar = arg1;
}

module.exports = globalVar;

我有另一个文件,如下所示:

文件2:

var globalVar = require(./file1);

function openModal(){

if (globarVar != ''){
do something

}}

问题是,当我单击按钮时,globalVar会在edit()函数中更新,但我在file2中的console.log(globalVar)显示“”。我的问题是如何将globalVar传递给file2我点击按钮?

最佳答案

如果你真的想要一个全局变量(当然不建议),那么你总是可以 100% 自由地做

window.globalVar = 0;

在您的任何模块中。

<小时/>

更可靠的解决方案当然是让这个全局变量位于某种专用模块中,例如

globalVar.js

export default {
value: 0
};

然后你就可以

import globalVal from './globalVar';

globalVal.value = 'whatever';

来自任何需要的模块。

唯一的风险是,如果您进行代码分割,则 webpack 可能会将相同的“全局”值复制到多个包中,具体取决于您的设置。因此,单独的模块将使用这个非全局变量的自己的本地副本。 编辑 - 这不是真的。 webpack 从来没有这样做过;该评论是基于我的误解。

关于javascript - 如何在多个文件之间共享全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46476426/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com