J'utilise mootools 1.6. J'ai basé mon code sur leur didacticiel mais lorsque j'essaie de l'exécuter, la fonction initialize
de ma sous-classe n'est pas invoquée. Au lieu de cela, il va directement à la fonction initialize
de la classe parente. J'ai essayé le point d'arrêt à l'intérieur de la fonction de la sous-classe initialize
mais ça ne va vraiment pas là-bas. En fait, mes fonctions supplémentaires sont également indéfinies. C'est comme si seules les fonctions de la classe parente sont créées. :(Mootools 1.6 La méthode d'initialisation de la sous-classe n'est pas appelée
Voici mon exemple de code:
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.) Notez qu'ils sont dans des fichiers différents js.
2.) Ces fichiers sont pré-chargés par cocos2d-js
...
"src/controllers/parent.js",
"src/controllers/child.js",
...
Je ne pense pas qu'il y ait un problème avec '1.6' Vérifiez ici.... https: // jsfidd le.net/otdfddyd/ mais peut-être que vous avez un problème avec le chargeur que vous utilisez. Pouvez-vous adapter mon jsFiddle pour reproduire votre problème? – Sergio
désolé je suis nouveau à javascript. Cela fera-t-il une différence si je les mets tous dans un seul fichier? Mes objets sont dans des fichiers différents. – cessmestreet
Salut Sergio, je sais déjà ce qui cause le problème. J'avais un autre fichier, child2.js utilisant le même nom d'objet pour l'enfant. Je n'utilise plus ce fichier mais comme il est listé dans les ressources après child.js, il redéfinit l'objet. Et c'est pourquoi ça ne va pas à l'initialisation de la classe enfant. Je suis désolé pour ça. Merci quand même pour vôtre aide! – cessmestreet