javascript - Assign Backbone model to view after view has been instantiated? -


was wondering how add model view when view has been instantiated? i've created switch statement make correct view once done want bind model? i've tried set , view.model = model no success?

js

var type = 'typeone';  var mymodel = backbone.model.extend();  var viewtypeone = backbone.view.extend(); var viewtypetwo = backbone.view.extend();  var model = new mymodel({     'name': 'james bond' });  var newview; switch (type) {     case 'typeone':         newview = new viewtypeone();     case 'typetwo':         newview = new viewtypetwo(); }  newview.model = model;  console.log('after', newview.model.tojson()); 

i'm not sure if/how can bind model instantiated view, know how can solve problem in 1 of several ways:

  1. pass model parameter when instantiate view in switch:

    var model = {model: this.model}; var newview; switch (type) {   case 'typeone':     newview = new viewtypeone(model);   case 'typetwo':     newview = new viewtypetwo(model); } 
  2. pick view type in switch, , instantiate model:

    var viewtype; switch (type) {   case 'typeone':     viewtype = viewtypeone;   case 'typetwo':     viewtype = viewtypetwo; } var newview = new viewtype({model: this.model}); 
  3. use map link names types, , rid of switch:

    var views = {   'typeone': viewtypeone,   'typetwo': viewtypetwo } var newview = new views[type]({model: this.model}); 

Comments