Friday, 15 July 2011

javascript - Get the changed "this.model" attribute value -



javascript - Get the changed "this.model" attribute value -

a backbone.js noob question. code i'm working looks this

my datamodel model :

define(['jquery', 'underscore', 'backbone'], function($, _, backbone) { var datamodel = backbone.model.extend({ // defaults attribute values defaults : { completed : false, }, url : 'path/to/my/data.json', }); homecoming datamodel; });

and have model called servicemodel instance of datamodel looks

define(['jquery', 'underscore', 'backbone', '../models/datamodel'], function($, _, backbone, datamodel) { // supplierservice object literal. supplierservice = {}; // instatiate datamodel() var servicemodel = new datamodel(); var = servicemodel; servicemodel.fetch().done(function() { info = servicemodel.tojson(); supplierservice.figures.calculate(data) }); supplierservice.figures = (function() { // set completed true here function constructor(d) { // work done here that.set({ completed : true, }); } homecoming { calculate : function(d) { constructor(d) }, } })(); homecoming servicemodel; });

my view :

define(['jquery', 'underscore', 'backbone', '../../models/servicemodel'], function($, _, backbone, servicemodel) { var appview = backbone.view.extend({ model : servicemodel, initialize : function() { console.log(this.model.get('completed')); }, }); homecoming appview; });

output prints false , not true. how looks when print this.model

why when this.model.get('completed') false.

i doing right thing?? help/advice appreciated, go further.

thanks in advance.

in view:initialize have got default model value, in couple of seconds servicemodel.fetch() has finished request , updated model value true

from perspective: 1 move out datamodel supplierservice 2 rewrite supplierservice in same way datamodel 3 pass supplierservice dependency appview 4 in appview:initialize set

servicemodel = new servicemodel(); supplierservice = new supplierservice(); servicemodel.fetch().done(function() { var info = servicemodel.tojson(); supplierservice.figures.calculate(data) });

javascript backbone.js backbone-views backbone-model

No comments:

Post a Comment