2013-12-13 46 views
1

我有一個Backbone集合,它不斷從RESTful API請求數據。 我所做的是使用路由器加載視圖,在視圖中調用模型(初始化),模型將執行集合獲取。Backbone Collection提取循環

我在路由器中使用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(); 

}, 

在Model:

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 

}); 
+0

別忘了我。 :) – SergeyKutsko

回答

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 } }); 
} 

所以你有一個循環。

修復此刪除表單模型新集合初始化和獲取。

+0

謝謝!那工作。 – BonifatiusK