这是一个场景:
index.js
import test1 from './test1';
window.test1 = test1;
test1.js
import test2 from './test2';
var test1 = (function (){
var self = this;
var x = {};
x.test2 = test2;
var testValue = 'TEST VALUE';
let init = function(){
console.log ( x.test2() );
}
init();
return {
x: x,
testValue: testValue
}
})();
export default test1;
test2.js
var test2 = function () {
return (` value to use ${testValue} ` )
};
export default test2;
运行index.js时,我在test2.js中收到以下错误 未捕获的ReferenceError:未定义testValue
有没有办法使用testValue而不必传入它?
答案 0 :(得分:0)
你可以将test1转换为Class Object
,然后在test2中使用this.value
,它将使用test1的实例值
答案 1 :(得分:0)
有没有办法使用
testValue
而不必传递它?
在执行该函数之前,您必须确保将其设置为全局变量。但是使用全局变量通常是糟糕的设计。传递价值更容易推理。既然你没有解释为什么要这样做,那就是我能给出的所有建议。