backbone.js - Issues with inheritance in Backbone/Coffeescript -


so i'm starting new app using backbone/coffeescript. i'm using end of sinatra, coffeescript compiler default command line 1 creates js files. i'm trying create app there master class other classes inherit from. reason i'm getting few errors. here errors

typeerror: 'undefined' not object (evaluating 'n.replace') typeerror: 'undefined' not object (evaluating 'parent.prototype') typeerror: 'undefined' not constructor (evaluating 'new fileapp.uploaderview()') 

here base class

class fileapp.controller extends backbone.view template: _.template($('#fileapptemplate').html())  initialize: (office) ->     @office = office     @render()  render:  ->     # attach view dom     $('#fileuploaderapp').append(@$el)   bindviews: (uploaderview, fileviewerview, filedetailview) ->     @uploaderview = uploaderview     @fileviewerview = fileviewerview     @filedetailview = filedetailview 

here example of inheriting class

 class fileapp.fileviewerview extends fileapp.controller   template: _.template($('#fileviewtemplate').html())  #  # render -> #  render: ->     @$el.html(@template)     # append fileviewer div      @renderfiles()  #  # createfiles -> #  renderfiles: -> 

and here how .erb file loading each item , instantiating app.

<script id="namespacing">     //all backbone classes attach variable     var fileapp={}; </script>  <!-- underscrore/backbone --> <script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.4/underscore-min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/backbone.js/1.0.0/backbone-min.js"></script>   <script src="/js/fileuploader/libs/file_app_view.js"></script> <script src="/js/fileuploader/libs/uploader_view.js"></script> <script src="/js/fileuploader/libs/file_detail_view.js"></script> <script src="/js/fileuploader/libs/file_model.js"></script> <script src="/js/fileuploader/libs/file_viewer_view.js"></script> <script src="/js/fileuploader/libs/file_view.js"></script>   <div id="fileuploaderapp"></div>  <script>     $(document).ready(function(){         var app = new fileapp.controller();          // # create uploader         var uploaderview = new fileapp.uploaderview();         // # create file viewer         var fileviewerview = new fileapp.fileviewerview();         // # create file detail view         var filedetailview = new fileapp.filedetailview();          app.bindviews(uploaderview, fileviewerview, filedetailview)     }); </script> 

if can clarify issue that'd great.

try this

@$el.html(@template()) 

instead of

@$el.html(@template) 

also, want pass parameter template

@$el.html(@template(parameter1: 'value1', parameter2: 'value2')) 

usually in view have model, if model office, backbone model can do:

@$el.html(@template(var_referencing_office.tojson())) 

this example. don't know whether passing office view.


Comments

Popular posts from this blog

c# - Operator '==' incompatible with operand types 'Guid' and 'Guid' using DynamicExpression.ParseLambda<T, bool> -