Javascript 未调用Mootools 1.6子类初始化方法
我正在使用mootools 1.6。 我的代码基于他们的教程,但是当我尝试运行它时,我的子类的Javascript 未调用Mootools 1.6子类初始化方法,javascript,inheritance,mootools,extends,mootools-more,Javascript,Inheritance,Mootools,Extends,Mootools More,我正在使用mootools 1.6。 我的代码基于他们的教程,但是当我尝试运行它时,我的子类的initialize函数没有被调用。相反,它直接进入父类“initialize函数。 我尝试在子类initialize函数中设置断点,但实际上没有实现。事实上,我的附加函数也是未定义的。就像只创建父类的函数一样:( 以下是我的示例代码: parent.js var Parent = new Class({ initialize: function(){ alert("pa
initialize
函数没有被调用。相反,它直接进入父类“initialize
函数。
我尝试在子类initialize
函数中设置断点,但实际上没有实现。事实上,我的附加函数也是未定义的。就像只创建父类的函数一样:(
以下是我的示例代码:
parent.js
var Parent = new Class({
initialize: function(){
alert("parent");
},
...
});
child.js
var Child = new Class ( {
Extends: Parent,
initialize: function () {
this.parent();
alert("child");
},
... some additional functions
});
1.)请注意,它们位于不同的js文件中。
2.)这些文件由cocos2d js预加载
...
"src/controllers/parent.js",
"src/controllers/child.js",
...
我能够解决这个问题。Mootools没有问题。我就是这么用的。我为可能遇到同样问题的人发布 我有3个js文件
parent.js
child.js
orphan.js (calling it orphan hahaha)
这3个文件按顺序添加到project.json中。我没有使用孤儿.js。我以为我已经把它从名单上删除了,但我错了(
在orphan.js
中,是一个类。该类使用与child.js
中的类相同的名称。它是空的,只是扩展父类。发生的是,它重新定义了对象,因为它是在child.js
之后加载的。
我改变了他们的顺序,看看它是否会使用child.js
声明,确实如此。但这不是解决方案。我只是用它来证明它被重新定义。解决方案是从源代码中删除该文件/确保没有类具有相同的名称
呼。假警报。我能够解决这个问题。Mootools没有问题。这是我如何使用它的。我为可能遇到相同问题的人发布它 我有3个js文件
parent.js
child.js
orphan.js (calling it orphan hahaha)
这3个文件按此顺序添加到project.json。我没有使用orphan.js
。我以为我已经将其从列表中删除了,但我错了:(
在orphan.js
中,是一个类。该类使用与child.js
中的类相同的名称。它是空的,只是扩展父类。发生的是,它重新定义了对象,因为它是在child.js
之后加载的。
我改变了他们的顺序,看看它是否会使用child.js
声明,确实如此。但这不是解决方案。我只是用它来证明它被重新定义。解决方案是从源代码中删除该文件/确保没有类具有相同的名称
Whew.false alarm.我认为
1.6
没有问题。检查这里:但您使用的加载程序可能有问题。您能调整我的JSFIDLE以重现您的问题吗?对不起,我是javascript新手。如果我将它们都放在一个文件中会有区别吗?我的对象在不同的文件中。嗨,Sergio,我已经知道了现在是什么导致了这个问题。我有另一个文件child2.js,它使用了与子类相同的对象名。我不再使用这个文件了,但是因为它在参考资料中的child.js后面列出了,所以它重新定义了这个对象。这就是为什么它不会进入子类的初始化。对此我很抱歉。不过,谢谢你的帮助!我不知道hink1.6
有问题。检查这里:但是你使用的加载程序可能有问题。你能调整我的JSFIDLE来重现你的问题吗?对不起,我是javascript新手。如果我把它们都放在一个文件中会有不同吗?我的对象在不同的文件中。嗨,塞吉奥,我已经知道是什么导致了问题。我ad另一个文件child2.js使用与子对象相同的对象名。我不再使用该文件,但因为它在参考资料中的child.js后面列出,它正在重新定义该对象。这就是为什么它不会用于子类的初始化。对此我很抱歉。不过,感谢您的帮助!这个问题或answe没有任何价值r因为它没有正确标记,也没有突出显示您如何加载文件,所以它只会让人们走上错误的道路-mootools类继承没有问题。很抱歉,我没有收到您的评论。我在问题中已经通知您,我正在使用cocos2djs预加载文件。对于cocos2djs,您需要在中列出您的文件资源数组。此问题或答案中没有任何值,因为它没有正确标记,并且没有突出显示您如何加载文件,因此它只会将用户发送到错误的路径-mootools类继承没有问题。很抱歉,我没有收到您的评论。我在问题中已经通知您,我正在预加载文件s使用cocos2djs。对于cocos2djs,您需要在资源数组中列出您的文件。