Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 获取主干集合大小?_Backbone.js - Fatal编程技术网

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){

    }
});