Tôi đang tạo ứng dụng bằng xương sống và marionette.js. Tôi đang lên kế hoạch sử dụng chế độ xem bộ sưu tập để trình bày một số mục và sau đó cho phép chúng được lọc, sắp xếp và nhóm.Sử dụng Tập hợp mẫu để nhóm các mục trong giao diện bộ sưu tập
Tôi đã tự hỏi liệu có bất kỳ ý tưởng thiết kế tốt nào để thực sự gắn thêm html theo kiểu được nhóm hay không. Tôi có một vài ý tưởng nhưng tôi đã tự hỏi nếu ai đó có thể có đầu vào mà sẽ là thiết kế tốt hơn.
Ý tưởng đầu tiên của tôi là thay đổi phương thức appendHtml trên chế độ xem bộ sưu tập và nếu nhóm được bật, tôi có thể có hàm appendHtml tìm hoặc tạo thùng của nhóm con và đặt chế độ xem con trong đó.
appendHtml: function(collectionView, itemView, index){
var $container = this.getItemViewContainer(collectionView);
// get group from model
var groupName = itemView.model.get("group");
// try to find group in child container
var groupContainer = $container.find("." + groupName);
if(groupContainer.length === 0){
// create group container
var groupContainer = $('<div class="' + groupName + '">')
$container.append(groupContainer);
}
// Append the childview to the group
groupContainer.append(itemView);
}
Ý tưởng thứ hai của tôi là chia tách bộ sưu tập thành nhóm trước và sau đó có thể hiển thị nhiều lượt xem ... Điều này dường như có thể hiệu quả hơn, nhưng cũng có thể tốt hơn một chút so với mã cấu trúc có liên quan.
Bất kỳ đề xuất hoặc ý nghĩ gợi ý nào sẽ là tuyệt vời!
Cảm ơn
Tôi thích cách tiếp cận đầu tiên của bạn tốt hơn, và nó có lẽ dễ dàng quá. Nội dung trình bày phải ở chế độ xem và có vẻ lạ khi chia nhỏ một bộ sưu tập chỉ để hiển thị nó theo cách khác. Tại một thời điểm nào đó, bạn có thể muốn một nút chuyển đổi xem chế độ xem danh sách có được nhóm hay không, sau đó nhiều bộ sưu tập có thể bị cản trở. –
Vâng, đó là cái tôi đã đi với ... Tôi cần phải cẩn thận hơn một chút theo cách đó ... bởi vì tôi muốn thêm tiêu đề cho mỗi nhóm ... điều đó có nghĩa là tôi cần đảm bảo rằng tôi theo dõi những người là tốt. Đó là điều không may vì Marionette thực hiện một công việc tuyệt vời để theo dõi việc thêm/xóa các mục w/o nhiều hơn thông thường ... – MattyP
Tôi tự hỏi nếu nó sẽ giúp ích nếu bạn thêm một 'bộ so sánh' vào bộ sưu tập của bạn để sắp xếp theo nhóm. Sau đó, khi có bất kỳ thay đổi thêm/xóa/đặt lại nào, trong chế độ xem bạn có thể thực hiện một bước xử lý bài đăng, sau khi marionette thực hiện chèn/xóa, để chèn tiêu đề ... Tôi đoán có 1000 cách để làm bất kỳ điều gì. –