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
Javascript _.主干收集的提取不起作用_Javascript_Backbone.js_Coffeescript - Fatal编程技术网

Javascript _.主干收集的提取不起作用

Javascript _.主干收集的提取不起作用,javascript,backbone.js,coffeescript,Javascript,Backbone.js,Coffeescript,我有这个型号- class pt.SearchResultModel extends Backbone.Model defaults: id:"", image:"", colour:"" 我正在尝试这个- _.pluck(resultsCollection,'id') 但它总是返回未定义的-不确定发生了什么 我犯了什么语法错误 应该是: resultsCollection.pluck('id'); 主干集合上的下划线方法以这种方式使用,而不是以其原始形式使用。

我有这个型号-

class pt.SearchResultModel extends Backbone.Model
  defaults:
    id:"",
    image:"",
    colour:""
我正在尝试这个-

_.pluck(resultsCollection,'id')
但它总是返回未定义的-不确定发生了什么

我犯了什么语法错误

应该是:

resultsCollection.pluck('id');
主干集合上的下划线方法以这种方式使用,而不是以其原始形式使用。方法应为:

resultsCollection.pluck('id');

主干集合上的下划线方法以这种方式使用,而不是以其原始形式使用。方法

可以说,下划线数组方法嵌入到主干集合中。你可以直接打电话给他们:

resultsCollection.pluck 'id'

在大多数情况下,您也可以在集合的models属性上使用下划线方法,该属性是一个普通的旧数组,如u2;.pulk someCollection.models,“someAttr”,但请注意,pulk的情况是特殊的,因为主干模型通常不会将其属性作为自己的属性,您必须调用才能访问它们。主干的Pull的实现仍然是:

下划线数组方法可以说是嵌入到主干集合中。你可以直接打电话给他们:

resultsCollection.pluck 'id'
在大多数情况下,您也可以在集合的models属性上使用下划线方法,该属性是一个普通的旧数组,如u2;.pulk someCollection.models,“someAttr”,但请注意,pulk的情况是特殊的,因为主干模型通常不会将其属性作为自己的属性,您必须调用才能访问它们。主干的Pulk实现仍然是:

Backbone.Collection自动提供了下划线.js函数的一部分。因此,您可以编写resultCollection.pull'id',这会更好一些

现在,关于你的问题:Pull在内部使用“get”来检索你的属性。这加上您的结果意味着您的模型没有将id定义为属性。

Backbone.Collection自动提供了下划线.js函数的大部分功能。因此,您可以编写resultCollection.pull'id',这会更好一些


现在,关于你的问题:Pull在内部使用“get”来检索你的属性。这加上您的结果意味着您的模型没有将id定义为属性。

如其他人所述,您可以直接使用集合中的方法,该方法委托下划线的方法

然而,我注意到,例如,如果你选择了你的收藏,你将得到一个简单的模型数组,因此没有收藏的Pull方法。在这种情况下,您可以做的是首先提取attributes属性,然后提取id,例如,类似这样的操作应该可以工作

_.pulk_u2;.puckmyCollection,'attributes','id'


当然,您也可以创建一个新集合并传入这些模型,然后访问collections Pulk方法。

正如其他人所提到的,您可以直接使用集合的方法,该方法委托下划线的方法

然而,我注意到,例如,如果你选择了你的收藏,你将得到一个简单的模型数组,因此没有收藏的Pull方法。在这种情况下,您可以做的是首先提取attributes属性,然后提取id,例如,类似这样的操作应该可以工作

_.pulk_u2;.puckmyCollection,'attributes','id'

当然,您也可以创建一个新集合并传入这些模型,然后访问collections Pullc方法。

当您调用uu.PullResultsCollection,“id”时,您可以调用集合对象上的Pullc方法。 此集合具有models属性,但没有id属性

这就是为什么调用ResultCollection更好的原因。Pulk'id'wich将为您完成所有工作:

转到“模型”属性 转到每个模型的每个属性 找到想要的id值并将其放入结果数组中 当调用uu.pullResultCollection“id”时,调用集合对象上的Pullc方法。 此集合具有models属性,但没有id属性

这就是为什么调用ResultCollection更好的原因。Pulk'id'wich将为您完成所有工作:

转到“模型”属性 转到每个模型的每个属性 找到想要的id值并将其放入结果数组中