2012-07-19 25 views
5

Tôi đang sử dụng Backbone.js để tải 20 mục tại một thời điểm trên trang, nhận được nhiều mục hơn khi bạn cuộn xuống dưới cùng cho đến khi không còn gì để tìm nạp từ máy chủ.Các mục tải nhỏ với lọc

Đồng thời, tôi muốn trường nhập liệu ở trên cùng khi bạn nhập tên, nó sẽ lọc các mục phù hợp.

Vấn đề là, nếu bạn chưa cuộn xuống dưới cùng và tìm nạp tập hợp đầy đủ, bộ lọc đầu vào sẽ chỉ khớp với các mục hiện có trên trang.

Giải pháp tốt nhất về mặt kỹ thuật và trực quan để kết hợp lọc giao diện người dùng với các mục được tải xuống lười biếng là gì?

EDIT: Kịch bản thực sự ở đây đang tải tất cả bạn bè trên facebook của bạn có thể rất chậm và nghiền chúng với các apis khác. Tôi không muốn tải tất cả cùng một lúc vì trải nghiệm bị trì hoãn.

+1

Có những giới hạn kỹ thuật nào về lý do tại sao bạn không tải tất cả các mục để bắt đầu hoặc chủ yếu là cho trải nghiệm người dùng? Biết câu trả lời cho câu hỏi này có thể giúp xây dựng câu trả lời cho câu hỏi của bạn ... – alexwen

+0

Xin chào alex, vui lòng xem chỉnh sửa của tôi. cảm ơn. – Abadaba

+0

Tải trọng lười biếng trên ... bạn có bao nhiêu bạn bè trên facebook? – Louis

Trả lời

1

Khi người dùng đang tìm kiếm, tại sao không đặt lại bộ sưu tập bằng tìm nạp có bộ lọc?

Collection.fetch ({hạn:. $ ("# Tìm kiếm") val()})

Nếu bạn thiết lập của bạn backend cuối API điểm cho bộ sưu tập này đến phạm vi kết quả của bạn bằng các params hạn, sau đó bạn bộ sưu tập sẽ chỉ chứa các kết quả từ máy chủ phù hợp với đầu vào của người dùng.

Bạn cũng có thể giới hạn tìm nạp ban đầu cho 3 ký tự đầu tiên mà người dùng nhập rồi thực hiện phần còn lại của phía máy khách lọc khi họ tiếp tục nhập. Đó là nếu bạn không giới hạn phía máy chủ kết quả tìm kiếm với cuộc gọi đầu tiên của mình.