Javascript 是否按id删除主干模型?
您可以按id删除模型吗?文档中说您需要传入模型本身来删除它Javascript 是否按id删除主干模型?,javascript,backbone.js,Javascript,Backbone.js,您可以按id删除模型吗?文档中说您需要传入模型本身来删除它 所以我需要先获取模型,然后删除它?我不能只按id删除它?您的意思是从集合中删除模型吗?查看文档,看起来您确实需要传入一个真实的模型,但是源代码建议您可以传入模型id或模型cid,并且上述所有操作都应该有效(以及上述所有操作的数组) 因此,以下所有内容都应该是等效的: collection.remove(myModel); collection.remove(myModel.id); collection.remove(myModel.c
所以我需要先获取模型,然后删除它?我不能只按id删除它?您的意思是从集合中删除模型吗?查看文档,看起来您确实需要传入一个真实的模型,但是源代码建议您可以传入模型
id
或模型cid
,并且上述所有操作都应该有效(以及上述所有操作的数组)
因此,以下所有内容都应该是等效的:
collection.remove(myModel);
collection.remove(myModel.id);
collection.remove(myModel.cid);
collection.remove([myModel]);
但是,我还没有测试过。只是偶然发现了这篇文章(不要问我怎么做),默认情况下,
模型的ID类似于c1
或c23
。如果希望从集合中删除模型(按ID),则只需使用以下命令从集合中获取模型:
myCollection.get('c1')代码>
这将返回ID为c1
的模型,如果要立即删除它,只需将返回的模型传递给collectionsremove()
函数即可
myCollection.remove(myCollection.get('c1')代码>是的,查看主干v1.0.0源代码,remove()函数首先使用get()函数从集合中获取模型,该函数接受模型、id或cid。我使用它的次数越多,我发现主干的文档记录就越差。除非您阅读源代码:)。诚然,这并不理想。我认为值得一提的是模型中的idAttribute
属性。它告诉主干应该查看获取的模型主干的哪个属性,以确定模型的id
(与cid
)是什么。理想情况下,这个id
是您在DB模式上选择的唯一标识符。有关更多信息,请参阅。请注意,此处讨论的“默认”是cid
,而不是id
。默认情况下,模型没有id。