javascript - Set a Backbone collection model with circular dependencies in requirejs -


the thing have circular dependecy between backbone modules have use "exports" requirejs scpecifies in documentation http://requirejs.org/docs/api.html#circular. model 'a' this:

define(function(require, exports) {   var b = require('b');   var = backbone.model.extend({    });    exports.model =  a; }); 

and collection 'b' this:

define(function(require, exports) {   var = require('a');   var b = backbone.model.extend({     model: a.model   });    exports.model =  b; }); 

the problem here time have specify collection 'b' model property, model 'a' isn't yet defined. error i'm getting when try set collection models this:

b.collection.set([{id: 1}, {id: 2}]);  uncaught typeerror: 'undefined' not object (evaluating 'targetmodel.prototype') (http://127.0.0.1:9999/bower_components/backbone/backbone.js:689) 

any ideas on how should solve problem?

from example, it's not clear b depends on a. if it's model:collection relationship, might make sense remove dependency of model on collection. if it's @ possible break circular dependency, encourage so.

if back-reference required, though, 1 option might move resources same module , sort of lazy export:

define(function() {    var lazythings = {     a: null,     b: null   };    lazythings.a = backbone.model.extend({     collection: things.b   });    lazythings.b = backbone.collection.extend({     model:   });    return lazythings; }); 

alternatively, return lazythings.b , later access model prototype:

require('b', function (b) {   var = b.prototype.model; // }); 

finally, requirejs made work calling respective dependencies lazily (i.e., after modules resolved):

// b define(['a'], function (a) {   return function () {     return backbone.collection.extend({       model: a()     });   } });  // define(['b'], function (b) {   return function () {     return backbone.model.extend({       model: b()     });   } }); 

Comments

Popular posts from this blog

How to provide Authorization & Authentication using Asp.net, C#? -

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

How to use Authorization & Authentication in Asp.net, C#? -