所以,我有这段代码(已删除)
var Categories;
Categories = {url:'someurl', list : [] };
Categories.CreateCategory = function ()
{
// do some checks
// gather some data
$.ajax( {/*ajax options here, expecting JSON format*/} )
.done(function ( data )
{
var ctg = new Category();
ctg.Id = data.id;
Categories.list[ctg.id] = ctg;
} )
}
但是,新类别不会附加到列表中。
我尝试过
- 将 ajax 调用的上下文更改为此或类别
- 框选类别变量 (
var s=Categories; ...; s.list[ctg.Id] = ctg; Categories = s; )
- 创建一个新方法,将新类别附加到列表
这些都不起作用。
更多信息
CreateCategory 方法旨在在网站的管理面板中使用,这就是为什么我需要在单独的脚本中扩展类别类。
以前的版本包含整个版本的 Category 类,以及一堆与用户版本相同的代码,效果非常好。
<小时/>已解决
事实证明我的代码中有一个拼写错误。
Categories.list[ctg.id] = ctg;
应该是
Categories.list[**ctg.Id**] = ctg;
最佳答案
有一个错别字:
Categories.list[ctg.id] = ctg;
ctg.id
应为 ctg.Id
关于类属性的 Javascript 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25315166/