hay / stapes

the Javascript MVC microframework that does just enough
http://hay.github.io/stapes
MIT License
443 stars 54 forks source link

undefined _guid error when using module.on in subclasses #29

Closed ericchaves closed 11 years ago

ericchaves commented 11 years ago

Added a monkey patch to fix error when using events in subclasses.

var Parent = Stapes.subclass({});
var Module = Parent.subclass({ "sleep" : function() { this.emit('sleeping', 'very deep'); } });
var module = new Module();
module.on('sleeping', function(how) { console.log("i'm sleeping " + how); });

TypeError: 'undefined' is not an object (evaluating 'this._.guid')

when instantiating subclasses, the constructor relies on variable named includeEvents that is evaluated to false (due to clojure out of scope, I guess) and therefore does not properly add a _guid, making the use of events to thrown an error.

Cheers,

Neogavin commented 11 years ago

Man, I just ran into this today and it was driving me crazy! Thanks for the fix.

hay commented 11 years ago

Thanks! The code for createSubclass has become a bit hairy, so i didn't catch this. I'll add a test and add you to the contributions in the docs as well. Thanks again!