Tôi đã sử dụng Marionette trong một tuần và nó thực sự làm cho cuộc sống của tôi dễ dàng hơn!kích hoạt chế độ xem tải khi bộ sưu tập hoặc mẫu được tìm nạp
Hiện tại tôi cần có thể thông báo cho người dùng khi bộ sưu tập hoặc mô hình đang được tìm nạp, vì một số lượt xem mất một lượng thời gian đáng kể để hiển thị/tìm nạp. Để đưa ra một ví dụ tôi đã thực hiện một mockup nhỏ:
Khi người dùng nhấp vào một thể loại, một bộ sưu tập của tất cả các mục trong loại đó cần phải được nạp. Trước khi bộ sưu tập được tìm nạp, tôi muốn hiển thị một khung nhìn tải như trong hình (xem 1). Điều gì sẽ là một giải pháp thanh lịch để thực hiện điều này. Tôi đã tìm thấy bài đăng sau đây mà người dùng bật trình kích hoạt tìm nạp: http://tbranyen.com/post/how-to-indicate-backbone-fetch-progress. Điều này dường như làm việc nhưng không thực sự như tôi muốn. Đây là điều tôi đã đưa ra:
var ItemThumbCollectionView = Backbone.Marionette.CollectionView.extend({
collection: new ItemsCollection(userId),
itemView: ItemThumbView,
initialize: function(){
this.collection.on("fetch", function() {
//show loading view
}, this);
this.collection.on("reset", function() {
//show final view
}, this);
this.collection.fetch();
Backbone.history.navigate('user/'+identifier);
this.bindTo(this.collection, "reset", this.render, this)
}
});
Sẽ tốt hơn nếu tôi có thể có thuộc tính tùy chọn gọi là 'LoadItemView' chẳng hạn. Mà sẽ ghi đè lên mụcView trong khi tìm nạp. Đây có phải là một thực hành tốt trong ý kiến của bạn?
Sử dụng bộ sưu tập.on ('yêu cầu') thay vì thu thập.on ('tìm nạp'). Và collection.fetch ({reset: true}) thay vì collection.fetch(). ;) –