我有两个文件,file1导出变量'not a constant'var x = 1
和file2,从中导入此变量
问题是,即使它不是一个常量,我也无法修改该导入的变量!
file1.js
export var x=1 //it is defined as a variable not a constant
file2.js
import {x} from 'file1.js'
console.log(x) //1
x=2 //Error: Assignment to constant variable
最佳答案
那是the immutable exported module values的效果。您可以在同一模块中用另一个功能覆盖它
在您的文件1中:
export let x = 1;
export function modifyX( value ) { x = value; }
在您的文件2中
import { x, modifyX } from "file1.js"
console.log( x ) // 1;
modifyX( 2 );
console.log( x ) // 2;
关于javascript:修改导入的 'variable'会导致 'Assignment to constant variable',即使它不是常量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53723251/