我一直在使用前端的Backbone的Rails應用程序。它有兩種模式,出版物和文章。我在出版物骨幹路由器中編寫了以下函數,它應該刪除指定的出版物及其所有相關文章。它刪除了出版物,但我在刪除文章時遇到了問題。下面是代碼:主幹中的下劃線功能奇怪
publications_router.js
delete_publication: function(id){
var publication = new SimpleGoogleReader.Models.Publication({id: id});
publication.fetch();
publication.destroy();
var articles = new SimpleGoogleReader.Collections.Articles();
articles.fetch({
success: function(data){
_.each(data.models, function(item){
if (item.toJSON().publication_id == id) {
console.log(item);
}
});
}
});
}
這個偉大的工程打印在控制檯的各項目。但是,如果我將console.log(item)行更改爲:
item.destroy();
它只會銷燬所有其他項目。很顯然,我想糾正這個問題,所以這個函數會破壞所有的東西,而不是所有的東西。
有人可以告訴我爲什麼會發生這種情況,我們可以做些什麼來解決它?
它突變由陣列'splicing'一個元件出(該陣列被循環內的每個它破壞時間縮短)。你需要手動循環。 –
你是什麼意思手動?請詳細說明:) – user2623706