从 Backbone 集合中检索特定元素

考虑以下主干集合: 

http://img4.mukewang.com/6167bb030001002207920276.jpg

我想做的是访问“名称”字段。这是我所做的:


this._selectedNodes.pluck('name').forEach((objectName) => {

    $objectListLi.append(`<li>${objectName}</li>`);

});

但结果我一直得到“未定义”。更奇怪的是,当我使用“id”循环遍历集合时,我得到了结果。


知道为什么会发生这种情况以及我该如何解决吗?


芜湖不芜
浏览 150回答 2
2回答

FFIVE

终于搞定了。我删除了 pluck 并使用 map 代替。解决方案不是很优雅,但这是唯一对我有用的解决方案。&nbsp; &nbsp; &nbsp; &nbsp; var names = this._selectedNodes.map(function (model) {&nbsp; &nbsp; &nbsp; &nbsp; return model.attributes.get('name');&nbsp; &nbsp; });&nbsp; &nbsp; names.forEach(function (objectName) {&nbsp; &nbsp; &nbsp; &nbsp; $objectListLi.append(`<li>${objectName}</li>`);&nbsp; &nbsp; });我希望它会帮助其他人,并感谢所有试图帮助我的人。

万千封印

在某个阶段,您的名字似乎变得不确定?也许做一个检查。对于所有节点,“名称”的属性始终可用吗?&nbsp; this._selectedNodes.pluck('name').forEach((objectName) => {&nbsp; &nbsp; &nbsp; if (objectName !== 'undefined') // Any scope&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $objectListLi.append(`<li>${objectName}</li>`);&nbsp; &nbsp; });
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript