Mootools 1.6 Метод инициализации подкласса не вызывается
Я использую 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",
...
1 ответ
Я смог решить эту проблему. Там нет проблем с 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
декларация вместо этого и действительно, это было. Но это не решение. Я просто использовал это, чтобы доказать, что это было переопределено. Решение состояло в том, чтобы удалить этот файл из источника / убедиться, что ни у одного класса нет одинаковых имен.
Уф. ложная сигнализация.