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

Popular posts from this blog

symfony - TEST environment only: The database schema is not in sync with the current mapping file -

twig - Using Twigbridge in a Laravel 5.1 Package -

jdbc - Not able to establish database connection in eclipse -