Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未调用Mootools 1.6子类初始化方法_Javascript_Inheritance_Mootools_Extends_Mootools More - Fatal编程技术网

Javascript 未调用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

我正在使用mootools 1.6。 我的代码基于他们的教程,但是当我尝试运行它时,我的子类的
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后面列出了,所以它重新定义了这个对象。这就是为什么它不会进入子类的初始化。对此我很抱歉。不过,谢谢你的帮助!我不知道hink
1.6
有问题。检查这里:但是你使用的加载程序可能有问题。你能调整我的JSFIDLE来重现你的问题吗?对不起,我是javascript新手。如果我把它们都放在一个文件中会有不同吗?我的对象在不同的文件中。嗨,塞吉奥,我已经知道是什么导致了问题。我ad另一个文件child2.js使用与子对象相同的对象名。我不再使用该文件,但因为它在参考资料中的child.js后面列出,它正在重新定义该对象。这就是为什么它不会用于子类的初始化。对此我很抱歉。不过,感谢您的帮助!这个问题或answe没有任何价值r因为它没有正确标记,也没有突出显示您如何加载文件,所以它只会让人们走上错误的道路-mootools类继承没有问题。很抱歉,我没有收到您的评论。我在问题中已经通知您,我正在使用cocos2djs预加载文件。对于cocos2djs,您需要在中列出您的文件资源数组。此问题或答案中没有任何值,因为它没有正确标记,并且没有突出显示您如何加载文件,因此它只会将用户发送到错误的路径-mootools类继承没有问题。很抱歉,我没有收到您的评论。我在问题中已经通知您,我正在预加载文件s使用cocos2djs。对于cocos2djs,您需要在资源数组中列出您的文件。