我有一个 Backbone 集合,它不断从 RESTful API 请求数据。 我所做的是使用路由器加载 View ,在 View 中调用模型(在初始化中),并且模型将执行集合获取。
我在路由器中使用了 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();
});
},
在 View 中:
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
});
最佳答案
当
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 } });
}
所以你有一个循环。
修复此删除表单模型新集合的初始化和获取。
关于javascript - 主干集合获取循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20562251/