Backbone Collection Fetch循环

时间:2013-12-13 08:38:46

标签: javascript backbone.js requirejs backbone-collections

我有一个Backbone集合,它不断从RESTful API请求数据。 我所做的是使用路由器加载视图,在它调用模型的视图中(在初始化中),模型将执行集合提取。

我在路由器中使用了require.js.

以下是脚本,您能看到导致此循环的原因以及如何解决此问题吗?

提前致谢!

在路由器中:

goToUsers: function() {

    require(['./models/users', './views/users_view', './collections/user_collection'], function(UsersMdl, UsersView, UsersCollection) {

        OF.usersView = new OF.UsersView;
        OF.usersView.render();

    });

}, 

在视图中:

initialize: function() {

    //set the new address variable.
    OF.usersMdl = OF.usersMdl || new OF.UsersMdl();

},

在模型中:

initialize: function() {

    //on change functions can be done here

    //OF.usersCollection = new OF.UsersCollection;
    OF.usersCollection = new OF.UsersCollection;
    OF.UsersCollection.fetch({ data: { "admin": OF.login.attributes.admin, "session": OF.login.attributes.session } });

},

收藏品:

OF.UsersCollection = Backbone.Collection.extend({

    initialize: function() {
        console.log("People Collection is initialized");
    },

    url: 'php/api/users',

    model: OF.UsersMdl

});

1 个答案:

答案 0 :(得分:1)

何时

OF.UsersCollection.fetch({ data: { "admin": OF.login.attributes.admin, "session":     OF.login.attributes.session } }) 

已执行。它初始化新的模型对象,再次获取集合。

initialize: function() {
//OF.usersCollection = new OF.UsersCollection;
OF.usersCollection = new OF.UsersCollection;
OF.UsersCollection.fetch({ data: { "admin": OF.login.attributes.admin, "session":     OF.login.attributes.session } });
}

所以你有一个循环。

修复此删除表单模型新集合初始化和获取。