2011-07-05 27 views
7

Tôi có dự án backbone.js mà tôi đang làm việc và tôi đã thiết lập để tôi có thể kéo và thả các hàng (đó là các mô hình backbone.js) và với sự trợ giúp của jQuery UI cập nhật sự kiện Tôi có thể làm cho các mô hình của mình hình thành lại thứ tự của chúng và mọi thứ đều tốt. Tôi đã tự hỏi nếu có ai mới dọn dẹp một cách rõ ràng hơn để thực hiện điều này. Tôi đã bao gồm một số mã dưới đây.jQuery UI có thể sắp xếp và backbone.js

$(".section").sortable({items: 'tr', update: function() 
{ 
    console.log("Event Fire!"); 
    secv.mySort(); 
}}); 

secv là chế độ xem của tôi cho kiểu giữ bảng. Hàm mySort đi qua và tìm ra thứ tự của các phần tử và thực hiện cập nhật cần thiết.

+0

bạn không thích điều gì về giải pháp này? Tôi nghĩ rằng nó hoạt động khá tốt mà không có nhiều mã. Đây là cách tôi có thể sắp xếp được thực hiện với xương sống ngay bây giờ là tốt. – c3rin

+0

Một tùy chọn khác phức tạp hơn ở đây: http://stackoverflow.com/questions/10147969/saving-jquery-ui-sortables-order-to-backbone-js-collection – Cymen

Trả lời

1

Tôi giả sử bạn đang đặt thuộc tính thu trong Chế độ xem có thể trong phương thức khởi tạo. Trong cùng một phương thức, bạn nên liên kết một phương thức xem với sự kiện 'thay đổi' hoặc 'làm mới' của bộ sưu tập. Phương pháp này đơn giản sẽ vẽ lại bộ sưu tập được sắp xếp; phân loại bộ sưu tập trước khi làm như vậy nếu cần.

Về lý thuyết, mô hình của bạn sẽ có khả năng tự cập nhật với vị trí mới và nếu bộ sưu tập có chức năng so sánh, bộ sưu tập sẽ tự động tự phục vụ. Nếu trường hợp này xảy ra, việc ràng buộc với sự kiện 'refresh' của bộ sưu tập sẽ kích hoạt phương thức được đề cập ở trên mà chỉ cần trả lại phần bộ sưu tập của khung nhìn.

+0

Và bạn cũng có thể gán bộ so sánh mới cho bộ sưu tập trước sắp xếp. 'collection.comparator (function (model) {return model.get ('some_property');}); collection.sort(); 'Nó sẽ kích hoạt các sự kiện collection _reset_, mà bạn có thể liên kết với khung nhìn bộ sưu tập dựng hình. –

+3

Làm cách nào để trả lời câu hỏi gốc? Vấn đề là khung nhìn (DOM) được sắp xếp trước khi thu thập mô hình, không phải theo cách khác. – kahoon

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