簡體   English   中英

如何通過ID從Collection中獲取模型?

[英]How get model from Collection by id?

幫我。 如何通過ID從Collection中獲取模型?

var Sidebar = Backbone.Model.extend({});
var sidebar = new Sidebar;
var Library = Backbone.Collection.extend({})
lib=new Library();

lib.add(sidebar,{at: 234});

console.log(lib.get(234))//undefined ..Why??

您似乎在混合idindex ,這是不可互換的。

要通過id檢索,您需要使用Model進行設置:

var sidebar = new Sidebar({ id: 234 });

// ...

console.log(lib.get(234));

index是集合內的位置:

lib.add(sidebar, { at: 0 });

console.log(lib.at(0));     // sidebar
console.log(lib.models);    // Array: [ sidebar ]
console.log(lib.models[0]); // sidebar

嘗試這個

var Sidebar = Backbone.Model.extend({
     // Need to set this. Otherwise the model
     // does not know what propert is it's id
     idAttribute : 'at'
});
var sidebar = new Sidebar();
var Library = Backbone.Collection.extend({})
var lib=new Library();

// Set the Model
sidebar.set({at:234});

// Add it to the collection
lib.add(sidebar);

console.log(lib.get(234))

檢查小提琴

您添加集合的方式will be spliced at that index並在該索引處插入模型。 我認為這不是您想要的。 因此,您需要首先為模型設置屬性,然后將其添加到集合中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM