это, вероятно, не будет работать для вас, но ... если вы добавите SomeClass1
в качестве миксина и удалите локальное определение doSomething
из SomeClass3
, то вызов метода doSomething
в экземпляре вызовет SomeClass1.doSomething();
прямой.
это может быть непрактично, если ваш doSomething
на SomeClass3 должен запускать локальный / отдельный код, но вы можете обойти его, возможно.
http://www.jsfiddle.net/29MGa/1/
Должен быть способ добраться до корня цепочки наследования с n-го уровня, но я не могу вам там помочь. Вы должны зайти в список рассылки mootools и опубликовать его в надежде, что кто-то из основной команды ответит (например, Райан Флоренс, Аарон Ньютон, Кристоф Пойер и т. д.). Еще один хороший источник - irc канал mmtools #mootools на irc.freenode.net.
удачи, пожалуйста, обновите это с вашими выводами, поскольку вы никогда не знаете, когда это может понадобиться.
обновление от irc:
<akaIDIOT> SomeClass1.prototype.doSomething.apply(this[, ...]);
<akaIDIOT> not as clean as .parent(), but Moo doesn't give you a grandparent :)
также миксин поднимает большие пальцы:
<rpflo> d_mitar: I've often found that if I'm trying to do that it might make more sense for class 2 or 3 to be a mixin
<rpflo> but yeah, akaIDIOT's should work