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 是否按id删除主干模型?_Javascript_Backbone.js - Fatal编程技术网

Javascript 是否按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删除它?

您的意思是从集合中删除模型吗?查看文档,看起来您确实需要传入一个真实的模型,但是源代码建议您可以传入模型
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
的模型,如果要立即删除它,只需将返回的模型传递给collections
remove()
函数即可


myCollection.remove(myCollection.get('c1')

是的,查看主干v1.0.0源代码,remove()函数首先使用get()函数从集合中获取模型,该函数接受模型、id或cid。我使用它的次数越多,我发现主干的文档记录就越差。除非您阅读源代码:)。诚然,这并不理想。我认为值得一提的是模型中的
idAttribute
属性。它告诉主干应该查看获取的模型主干的哪个属性,以确定模型的
id
(与
cid
)是什么。理想情况下,这个
id
是您在DB模式上选择的唯一标识符。有关更多信息,请参阅。请注意,此处讨论的“默认”是
cid
,而不是
id
。默认情况下,模型没有id。