Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
5年前关闭。
所以,我有此代码(剥离)
但是,新类别不会附加到列表中。
我尝试过了
将ajax调用的上下文更改为this或Categories
框类别变量(
创建一个新方法,将新类别添加到列表中
这些都不起作用。
一些更多的信息
该CreateCategory方法旨在在网站的管理面板中使用,这就是为什么我需要在单独的脚本中扩展Categories类的原因。
以前的版本包含Categories类的整个版本,并且有一堆与用户版本相同的代码,它的工作原理很吸引人。
解决了
事实证明,我在代码中有错字。
应该
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
5年前关闭。
所以,我有此代码(剥离)
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调用的上下文更改为this或Categories
框类别变量(
var s=Categories; ...; s.list[ctg.Id] = ctg; Categories = s; )
创建一个新方法,将新类别添加到列表中
这些都不起作用。
一些更多的信息
该CreateCategory方法旨在在网站的管理面板中使用,这就是为什么我需要在单独的脚本中扩展Categories类的原因。
以前的版本包含Categories类的整个版本,并且有一堆与用户版本相同的代码,它的工作原理很吸引人。
解决了
事实证明,我在代码中有错字。
Categories.list[ctg.id] = ctg;
应该
Categories.list[**ctg.Id**] = ctg;
最佳答案
有一个错字:Categories.list[ctg.id] = ctg;
ctg.id
应该是ctg.Id
关于javascript - 类属性的Javascript作用域,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25315166/
10-11 13:09