我在 requireJS 定义模块中设置变量时遇到问题,它完全没有生效。我有以下(缩减)示例来说明问题:
这是定义的模块:
define([], function () {
var testerString = "BaseLine";
var ShowTesterString = function () {
console.log(testerString);
}
var setTesterString = function (pTesterString) {
testerString = pTesterString;
}
return {
testerString: testerString,
ShowTesterString: ShowTesterString,
setTesterString: setTesterString
};
});
然后我将“TesterModule”设置为另一个的依赖项并运行以下代码行:
TesterModule.ShowTesterString();
TesterModule.testerString = "Change 1";
TesterModule.ShowTesterString();
TesterModule.setTesterString("Change in Setter");
TesterModule.ShowTesterString();
输出到控制台的是:
BaseLine
BaseLine
Change in Setter
我原以为应该是:
BaseLine
Change 1
Change in Setter
似乎仅通过执行 variable = blah 在模块中设置变量没有任何效果,似乎需要在模块的方法中设置变量。谁能向我解释这是为什么?还是我编码错误?
提前致谢