javascript - Mootools 1.6 子类初始化方法未被调用

标签 javascript inheritance mootools extends mootools-more

我正在使用 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 中。我没有使用orphan.js。我以为我已经将其从列表中删除了,但我错了。 :(

在orphan.js内部,是一个类。该类使用与 child.js 中的类相同的名称。它是空的,只是扩展父级。发生的情况是,它重新定义了对象,因为它是在 child.js 之后加载的。 我改变了他们的顺序,看看它是否会使用 child.js 声明来代替,事实上,它确实这样做了。但这不是解决方案。我只是用它来证明它被重新定义了。解决方案是从源中删除该文件/确保没有类具有相同的名称。

哇。误报。

关于javascript - Mootools 1.6 子类初始化方法未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35177494/

相关文章:

google-chrome - Chrome 无法释放内存,垃圾回收没有按预期进行(Mootools/MochaUI 库)

ios - 子类化 MKAnnotation 导致 Set 集合不起作用

实现通用接口(interface)的 Java 通用类

java - 实例化子类时从父类(super class)调用方法

javascript - iPad 上的下拉菜单 css/js

javascript - MooTools 插件

javascript - 如何使用 Mootools 删除 “onclick”

javascript - 访问 Polymer 动态元素

javascript - 如何在谷歌地图API中给出本地主机的推荐网址?

javascript - 如何通过值获取对象的属性名称[JS]