Backbone.RelationalModel using requireJs

2019-06-11 08:26发布

问题:

I would like to use RelationalModel using requireJs.

Here my code(*)

When I run my module, I get the following warning message:

Relation=d; 
no model, key or relatedModel (function (){a.apply(this,arguments)}, 
"tasks", 
undefined).

My questions are:

1) what does the warning message means?
2) relatedModel and collectionType are well defined in my relations or should I export the model and the collection in define call?


(*)

define([
    'backbone',
    'relationalModel'
], function (Backbone) {
    "use strict";

    var User = Backbone.RelationalModel.extend({

        relations: [{
            type: Backbone.HasMany,
            key: 'tasks',
            relatedModel: 'Task',
            collectionType: 'TaskCollection',
            reverseRelation: {
                key: 'hasUser',
                includeInJSON: 'id'
                // 'relatedModel' is automatically set to 'User'; the 'relationType' to 'HasOne'.
            }
        }]

    });

    return User;
});

回答1:

Look at this question: Creating nested models with backboneJS + backbone-relational + requireJS

By the way, exports.ModuleModel = ModuleModel; doesn't work for me. Instead, I use window.ModuleModel = ModuleModel. Yes, it's a bit ugly, but it works.