require.js加载一个静态的data.js,为什么在使用时,data对象中的部分字符串变成了"" ?
require.js加载一个静态的data.js,为什么在使用时,data对象中的部分字符串变成了"" ?
data.js
define([
"js/common"
], function(common) {
var data = {};
data[common.type.ON] = [
{
name: "name1",
description: "description1"
},
{
name: "name2",
description: "description2"
}
];
data[common.type.OFF] = [
{
name: "name3",
description: "description3"
},
{
name: "name4",
description: "description4"
}
];
return data;
});
加载的地方:
define([
"js/data"
], function(data) {
// 在这里使用data,会出现data中部分字符串为""的情况
// 清空浏览器缓存,会恢复正常;但是问题不止出现过一次
});
麻烦大家帮忙分析一下是什么情况,谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你这个模块返回了
data
,注意,你每你require
这个模块的时候,得到的都是同一个 data,所以如果你在处理过程中对某个属性进行的赋值操作,那它就可能改变值。如果你想每次返回的 data 都是新的(相同的初始数据),你这个模块应该导出一个工厂方法,调用工厂方法返回一个新的 data 对象,如下示意