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

powershell Start-Process exit code -1073741502 when used with Credential from a windows service environment -

twig - Using Twigbridge in a Laravel 5.1 Package -

c# - LINQ join Entities from HashSet's, Join vs Dictionary vs HashSet performance -