我有一个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
});
答案 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 } });
}
所以你有一个循环。
修复此删除表单模型新集合初始化和获取。