簡體   English   中英

綁定以添加backbone.js集合

[英]Binding to add on a backbone.js collection

我想在一個骨干集合的所有實例中獲取后,將模型的ID設置為正確的值,但這似乎不起作用:

var NoteCollection = Backbone.Collection.extend(
{
    model: Note,
    initialize: function () {
        this.bind("add", function (note) {
            if (!note.id && note.has('noteid'))
                note.id = note.get('noteid');
        });
    } 
});

函數永遠不會被調用(我正在通過創建一個新的NoteCollection並在其上調用fetch來測試),我做錯了什么?

注意:我知道我可以在NoteCollection的特定實例上綁定該方法,這是有效的,但我想在所有實例上綁定它。

這可能是因為note.id返回true。

好消息是Backbone已經有了一個約定,可以將模型的id屬性設置為模型上的特定屬性。 這是通過設置idAttribute來完成的(在Backbone的源代碼中查看此行

var Note = Backbone.Model.extend({
  idAttribute: 'noteid'
});

使用此代碼,Backbone將負責設置note.id = note.get('noteid')

暫無
暫無

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

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