Javascript Backbone.js为什么我必须使用下划线(u.each)来定位模型?
因此,每当我想从我的收藏中选择一个模型时,我总是使用主干网自己的Javascript Backbone.js为什么我必须使用下划线(u.each)来定位模型?,javascript,backbone.js,underscore.js,Javascript,Backbone.js,Underscore.js,因此,每当我想从我的收藏中选择一个模型时,我总是使用主干网自己的where方法 var homeTeam = this.collection.where({teamName: this.currentTeamName('home')}); 我有自己的方法来抓取当前团队,我传递“home”或“away”作为参数,它知道要抓取哪个模型,这一切都很好,很好,另一个例子就是传递一个字符串,如下所示 // This is practically the same as the above. var ho
where
方法
var homeTeam = this.collection.where({teamName: this.currentTeamName('home')});
我有自己的方法来抓取当前团队,我传递“home”或“away”作为参数,它知道要抓取哪个模型,这一切都很好,很好,另一个例子就是传递一个字符串,如下所示
// This is practically the same as the above.
var homeTeam = this.collection.where({teamName: 'bulls'});
因此,如果我记录该变量console.log(homeTeam)
,控制台将显示该模型,就像它显示任何模型一样
控制台显示我可以访问模型可以使用的常规方法,但是如果我调用其中一个方法,就会出现错误,例如homeTeam.save({someAttr:'juicy'})代码>
因此,我只使用下划线的每个方法,如下所示,它是有效的
_.each(homeTeam, function(model) { model.save({someAttr: 'juicy'}); }, this);
我这样做已经有一段时间了,但我很想知道为什么我必须这样做,当记录homeTeam
时,它会像这样通过模型
_.each(homeTeam, function(model) { console.log(model) }, this);
它们在控制台中的显示完全相同。因为其中
返回模型的数组。数组不是模型对象。这是一个数组
请参阅。,因为其中
返回模型的数组。数组不是模型对象。这是一个数组
请参阅。,因为其中
返回模型的数组。数组不是模型对象。这是一个数组
请参阅。,因为其中
返回模型的数组。数组不是模型对象。这是一个数组
看。啊,我想我看到了问题所在
。其中返回一个数组;即使它是一个模型数组,Javascript控制台也会将条目作为模型进行评估,以便您可以看到主干提供的方法
你需要做的是使用.findWhere
这将返回第一个匹配模型,作为正确类型的对象
或者,您可以尝试(只是为了证明)“homeTeam[0]。保存(…)
澄清一下:你犯了错误,因为主队不是你想象的那样;欢迎使用Javascript 啊,我想我看到了问题所在
。其中返回一个数组;即使它是一个模型数组,Javascript控制台也会将条目作为模型进行评估,以便您可以看到主干提供的方法
你需要做的是使用.findWhere
这将返回第一个匹配模型,作为正确类型的对象
或者,您可以尝试(只是为了证明)“homeTeam[0]。保存(…)
澄清一下:你犯了错误,因为主队不是你想象的那样;欢迎使用Javascript 啊,我想我看到了问题所在
。其中返回一个数组;即使它是一个模型数组,Javascript控制台也会将条目作为模型进行评估,以便您可以看到主干提供的方法
你需要做的是使用.findWhere
这将返回第一个匹配模型,作为正确类型的对象
或者,您可以尝试(只是为了证明)“homeTeam[0]。保存(…)
澄清一下:你犯了错误,因为主队不是你想象的那样;欢迎使用Javascript 啊,我想我看到了问题所在
。其中返回一个数组;即使它是一个模型数组,Javascript控制台也会将条目作为模型进行评估,以便您可以看到主干提供的方法
你需要做的是使用.findWhere
这将返回第一个匹配模型,作为正确类型的对象
或者,您可以尝试(只是为了证明)“homeTeam[0]。保存(…)
澄清一下:你犯了错误,因为主队不是你想象的那样;欢迎使用Javascript 假设team.teamName
是唯一的,您可以安全地使用.findWhere
,它从集合中返回单个模型,而不是。find
,它返回一组模型
从:
findWhere
查看列表并返回与属性中列出的所有键值对匹配的第一个值
相对于
其中
查看列表中的每个值,返回包含属性中列出的所有键值对的所有值的数组
假设team.teamName
是唯一的,您可以安全地使用.findWhere
,它从集合中返回单个模型,而不是。find
,它返回一组模型
从:
findWhere
查看列表并返回与属性中列出的所有键值对匹配的第一个值
相对于
其中
查看列表中的每个值,返回包含属性中列出的所有键值对的所有值的数组
假设team.teamName
是唯一的,您可以安全地使用.findWhere
,它从集合中返回单个模型,而不是。find
,它返回一组模型
从:
findWhere
查看列表并返回与属性中列出的所有键值对匹配的第一个值
相对于
其中
查看列表中的每个值,返回包含属性中列出的所有键值对的所有值的数组
假设team.teamName
是唯一的,您可以安全地使用.findWhere
,它从集合中返回单个模型,而不是。find
,它返回一组模型
从:
findWhere
查看列表并返回