Backbone.js 获取主干集合大小?
我有一个骨干收藏Backbone.js 获取主干集合大小?,backbone.js,Backbone.js,我有一个骨干收藏 var users = Backbone.Collection.extend({ url: 'https://localhost:2222/users', model: User }); 在控制器中,我不需要获取任何用户 var usersList = new Users(); usersList .fetch({ beforeSend: CommonUtils.sendAuthentication, data: $
var users = Backbone.Collection.extend({
url: 'https://localhost:2222/users',
model: User
});
在控制器中,我不需要获取任何用户
var usersList = new Users();
usersList .fetch({
beforeSend: CommonUtils.sendAuthentication,
data: $.param({ group: group.id})
});
我尝试了usersList.length,它返回0,但控制台在“usersList”中显示了一些数据
我登录
console.log(usersList);
console.log(usersList.length);
在“child”中,对象长度显示为0,但在该长度内为4。您确定要在
获取后计算长度吗?请记住,获取需要一些时间,javascript不会等待它。您确定要在获取后计算长度吗?请记住,获取需要一些时间,javascript不会等待它。您确定要在获取后计算长度吗?请记住,获取需要一些时间,javascript不会等待它。您确定要在获取后计算长度吗?请记住,获取需要一些时间,您的javascript不会等待它。默认情况下,.fetch()
会发出异步的HTTP(Ajax)请求,但不会立即完成,这就是为什么必须使用success
和error
回调函数的原因。在.fetch()从服务器返回响应后,将相应地触发这些回调函数
成功
和错误
都会接收回迁的集合、服务器响应和选项对象
简单的例子:
为了扩展,主干collection.fetch([options])
基于Backbone.sync(方法、模型、[options])
,后者基于默认情况下执行异步请求的jQuery.ajax
可以通过向方法传递选项来修改.fetch()
的行为
选项可能包含主干设置(例如:不触发收集changed
event等的静默获取)或jQuery.ajax设置
请注意,jQuery不鼓励使用async:false
选项
同步请求可能会暂时锁定浏览器,从而禁用任何
请求处于活动状态时的操作。从jQuery1.8开始,使用
async:false,不推荐使用jqXHR($.Deferred);你必须使用
成功/错误/完成回调选项
默认情况下,主干.fetch()
发出不立即完成的异步HTTP(Ajax)请求,这就是为什么您必须使用成功
和错误
返回服务器的响应
成功
和错误
都会接收回迁的集合、服务器响应和选项对象
简单的例子:
为了扩展,主干collection.fetch([options])
基于Backbone.sync(方法、模型、[options])
,后者基于默认情况下执行异步请求的jQuery.ajax
可以通过向方法传递选项来修改.fetch()
的行为
选项可能包含主干设置(例如:不触发收集changed
event等的静默获取)或jQuery.ajax设置
请注意,jQuery不鼓励使用async:false
选项
同步请求可能会暂时锁定浏览器,从而禁用任何
请求处于活动状态时的操作。从jQuery1.8开始,使用
async:false,不推荐使用jqXHR($.Deferred);你必须使用
成功/错误/完成回调选项
默认情况下,主干.fetch()
发出不立即完成的异步HTTP(Ajax)请求,这就是为什么您必须使用成功
和错误
返回服务器的响应
成功
和错误
都会接收回迁的集合、服务器响应和选项对象
简单的例子:
为了扩展,主干collection.fetch([options])
基于Backbone.sync(方法、模型、[options])
,后者基于默认情况下执行异步请求的jQuery.ajax
可以通过向方法传递选项来修改.fetch()
的行为
选项可能包含主干设置(例如:不触发收集changed
event等的静默获取)或jQuery.ajax设置
请注意,jQuery不鼓励使用async:false
选项
同步请求可能会暂时锁定浏览器,从而禁用任何
请求处于活动状态时的操作。从jQuery1.8开始,使用
async:false,不推荐使用jqXHR($.Deferred);你必须使用
成功/错误/完成回调选项
默认情况下,主干.fetch()
发出不立即完成的异步HTTP(Ajax)请求,这就是为什么您必须使用成功
和错误
返回服务器的响应
成功
和错误
都会接收回迁的集合、服务器响应和选项对象
简单的例子:
要扩展,请选择主干集合
usersList.fetch({
success: function(collection, response, options){
console.log(collection.length);
// Method which would use your fetched colletion
myFancyMethodUsingCollection(collection);
},
error: function(collection, response, options){
}
});