javascript - Extend Coffeescript subclass function from parent in marionette -
i've got "formview" class in marionette application sets lot of things form submissions around app. use every time there form. i've got helpers want pass every form template via templatehelpers method, want able add additional templatehelpers in children. so:
class views.formview extends marionette.itemview templatehelpers: -> helpers: marionette.concerns.helpers class views.newuser extends views.formview templatehelpers: -> variable: @something i want able access both @variable , @helpers template newuser. additionally, know how handle (via _.extends) if templatehelpers object, need function.
is possible? , if so, how?
in backbone, when inherit class, backbone give subclass __super__ property (double underscore @ both ends) prototype of parent class. within views.newuser class, can prototype via view.newuser.__super__. then, can call templatehelpers on object. here's how did (live example @ jsbin):
views = {} class views.formview extends marionette.itemview templatehelpers: -> helpers: "parent value" loghelpers: -> console.log @templatehelpers() class views.newuser extends views.formview templatehelpers: -> variable: "child value" loghelpers: -> console.log @templatehelpers() console.log views.newuser.__super__.templatehelpers() formview = new views.formview() formview.loghelpers() // { helpers: "parent value" } newuser = new views.newuser() newuser.loghelpers() // { variable: "child value" }, { helpers: "parent value" } you use _.extend extend 1 other; maybe this:
initialize: -> @helpers = _.extend @templatehelpers(), views.newuser.__super__.templatehelpers()
Comments
Post a Comment