问题描述
从自定义模块中读取值时遇到了问题,这些值是通过在模块中运行触发函数以填充值来设置的。例如,“定义”中的内容如下:
var _settings = {
a : "a",b : "b"
};
function buildSettings() {
// run scripting to add values to _settings
_settings.c = "c";
_settings.d = "d";
}
return {
SETTINGS : _settings,build : buildSettings
}
我在开发帐户中遇到过一些情况,这种情况确实很好。但是,我一直遇到以下问题:当尝试从定制模块外部(“ a”和“ b”除外)引用数据时,“ buildSettings”创建的值不可用。如果添加了“ buildSettings”,请说“ c”和“ d”,但可以从模块内部读取“ c”和“ d”,但不能从模块所附的脚本中读取。因此,请执行以下操作:
define(['./custom-module'],function(custMod) {
function logValues() {
custMod.build();
console.log(custMod.SETTINGS.a);
console.log(custMod.SETTINGS.b);
console.log(custMod.SETTINGS.c);
console.log(custMod.SETTINGS.d);
}
return {
logValues : logValues
};
});
如果您调用“ logValues()”,则在控制台中将看到如下内容:
// undesired results
"a"
"b"
null
null
不过,我不明白为什么在某些系统中它可以正常工作,而您却得到以下内容:
// desired results
"a"
"b"
"c"
"d"
有没有我看不到的东西可以使它获得预期的结果,而不是获取空值?因为在建立开发人员帐户时遇到了这个问题,所以在构建其他开发人员帐户时没有问题,并且在从第二个开发人员帐户复制到另一个帐户时又遇到了问题。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)