2012-05-01 129 views
20

你可以通過ID刪除模型嗎?該文件說你需要通過模型本身來移除它。通過id刪除骨幹模型?

因此,我需要先取出模型,然後將其刪除?我不能通過ID刪除它?

回答

26

您的意思是從集合中刪除模型?看看這些文檔,看起來好像你需要傳遞一個真實的模型,但是源代碼表明你可以通過id模型或者cid模型,並且上述所有方法都可以工作(以及作爲所有上述的數組)。

所以以下所有的應該是等價的:

collection.remove(myModel); 
collection.remove(myModel.id); 
collection.remove(myModel.cid); 
collection.remove([myModel]); 

我沒有測試過這一點,但是。

+0

啊,好,涼爽感謝您的信息 – fancy

+3

是的,看着骨幹V1.0.0源,則remove()函數首先使用get()函數,它接受一個獲取模型從集合型號,id或cid。 – jackocnr

+1

我越用它,我發現Backbone的記錄越差。 –

1

剛剛偶然發現了這篇文章(不要問我怎麼做),model的ID默認爲c1c23。如果你想通過ID從集合刪除一個模型,然後你只需使用get從集合模型:

myCollection.get('c1');

這將返回模型ID c1,如果你想立即刪除它,你只需將返回的模型傳遞給集合remove()函數。

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

+1

請注意,這裏討論的「默認」是「cid」,而不是「id」。模型默認沒有ID。 – nrabinowitz