Mootools 1.6 子类初始化方法未被调用
Mootools 1.6 Subclass initialize method is not called
我正在使用 mootools 1.6。
我的代码基于他们的教程,但是当我尝试 运行 它时,我的 subclass 的 initialize
函数没有被调用。相反,它直接转到父 class' initialize
函数。
我尝试在 subclass initialize
函数内部设置断点,但它确实不在那里。事实上,我的附加功能也是未定义的。就像只创建了父 class 的函数。 :(
这是我的示例代码:
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。我没有使用 orphan.js
。我以为我已经把它从列表中删除了,但我错了。 :(
里面 orphan.js
,是一个 class。此 class 使用与 child.js
中的 class 相同的名称。它是空的,只是扩展父级。发生的事情是,它重新定义了对象,因为它是在 child.js
之后加载的。
我改变了他们的顺序,看看它是否会使用 child.js
声明来代替,确实如此。但这不是解决方案。我只是用它来证明它被重新定义了。解决方案是从源中删除该文件/确保没有 class 具有相同的名称。
哇哦。误报。
我正在使用 mootools 1.6。
我的代码基于他们的教程,但是当我尝试 运行 它时,我的 subclass 的 initialize
函数没有被调用。相反,它直接转到父 class' initialize
函数。
我尝试在 subclass initialize
函数内部设置断点,但它确实不在那里。事实上,我的附加功能也是未定义的。就像只创建了父 class 的函数。 :(
这是我的示例代码:
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。我没有使用 orphan.js
。我以为我已经把它从列表中删除了,但我错了。 :(
里面 orphan.js
,是一个 class。此 class 使用与 child.js
中的 class 相同的名称。它是空的,只是扩展父级。发生的事情是,它重新定义了对象,因为它是在 child.js
之后加载的。
我改变了他们的顺序,看看它是否会使用 child.js
声明来代替,确实如此。但这不是解决方案。我只是用它来证明它被重新定义了。解决方案是从源中删除该文件/确保没有 class 具有相同的名称。
哇哦。误报。