2012-02-07 19 views
6

Tôi đã có bộ sưu tập xương sống. Tôi đang sử dụng fetch({add:true}) để tìm các mục mới từ máy chủ của tôi và thêm chúng vào bộ sưu tập.Làm cách nào tôi có thể lấy chỉ mục của một mục được thêm vào bộ sưu tập Backbone qua tìm nạp?

Tôi đã giới hạn chức năng người nghe đối với sự kiện add của bộ sưu tập. Tôi muốn có chức năng đó để lấy chỉ mục mà mục được thêm vào bộ sưu tập.

Backbone’s documentation for Collection.add nói “nếu bạn là một callback nghe sự kiện của một bộ sưu tập "add", options.index sẽ cho bạn biết các chỉ số mà tại đó các mô hình đã được bổ sung vào bộ sưu tập.”

Tôi đã đăng nhập các đối số mà dường được chuyển đến chức năng nghe của tôi tới bàn điều khiển và có thể xem chúng. Theo như tôi có thể nói, đối số đầu tiên là mục được thêm vào, tiếp theo là một đối tượng bộ sưu tập tạm thời được tạo để giữ nó khi nó trở về từ máy chủ. Tôi dường như không có đối tượng với thuộc tính index.

Làm cách nào để có chỉ mục mà tại đó mục được thêm vào bộ sưu tập?

Trả lời

8

Để bất cứ ai đọc điều này trong tương lai, LƯU Ý: kể từ phiên bản 0.9.9, options.index không còn được đặt. Từ thay đổi:

Để cải thiện hiệu suất của tiện ích, tùy chọn.index sẽ không còn được đặt trong lời gọi sự kiện add. collection.indexOf(model) có thể được sử dụng để lấy chỉ mục của một mô hình khi cần thiết.

+0

Công cụ tuyệt vời, cảm ơn bạn đã thêm câu trả lời cập nhật. –

+0

+1 Cảm ơn bạn đã cập nhật điều này. Rất hữu ích. –

2

Kiểm tra đối số thứ ba để function bind của bạn, nó sẽ chứa thuộc tính index

var c=new Backbone.Collection(); 
c.bind("add",function(model,collection,opts){ 
    console.log(opts); 
}); 

c.add({}); 
c.add({}); 

Edit: tôi chỉ kiểm tra Backbone 0.5.3 và nó sẽ có vẻ options.index chỉ có sẵn trong phiên bản 0.9

+0

Aha! Vâng, tất nhiên - tôi đã nhìn vào đối số thứ ba, nhưng tôi cho rằng đó là một cái gì đó khác khi chỉ số được đặt thành 0. Tôi quên rằng tôi chỉ đang thử nghiệm thêm một mục vào một bộ sưu tập trống, vì vậy rõ ràng chỉ mục sẽ bằng không. Tuyệt vời, cổ vũ. –

Các vấn đề liên quan