2015-05-25 16 views
5

Về cơ bản những gì tôi đang cố gắng làm, là tìm cách tốt nhất để quản lý tất cả các khung nhìn của tôi. Tất cả các quan điểm của tôi bị đóng và tạo khi cần thiết .. Và vì lý do đó, tôi đã tạo một người quản lý riêng biệt bên trong trường hợp Backbone.Router của tôi sẽ xử lý tất cả các quan điểm của tôi như sau.Backbone -managing app views

router.js

AppRouter.prototype.initialize = function() { 
      ....... 
      var eMgr = _.extend({}, Backbone.Events); 
      var vMgr = new ViewManager(); 

      vMgr.add(new vTopMenu({eMgr: eMgr})); 
      vMgr.add(new vTooltip({eMgr: eMgr})); 

      app_router.on('route:MainMenu', function() { 
       vMgr.close_all_views(function(){ 
        vMgr.add(new vmainMenu({eMgr: eMgr})); 
        vMgr.render_all_views(); 
       }); 
      }); 

      app_router.on('route:showMap', function() { 
       vMgr.close_all_views(function(){ 
        vMgr.add(new vMapMenu()); 
        vMgr.render_all_views(); 
       }); 
      }); 
... 
} 

Như bạn có thể thấy TopMenuTooltip quan điểm được tạo ra chỉ một lần như tôi không mong đợi sẽ có bất kỳ nhu cầu thay đổi nội dung của họ. Và tôi cũng muốn tránh các khoảng trống trong khi các chế độ xem đang được tải ...

Tôi không chắc chắn đây có phải là một ý tưởng hay hay không, vì tất cả các chế độ xem khác đang bị đóng và được khởi tạo lại một lần Tôi điều hướng từ một tuyến đường này đến tuyến đường khác.

Vì vậy, câu hỏi đặt ra là thực tiễn tốt để thiết lập các chế độ xem này như thế này? Hoặc tôi có nên tạo lại chế độ xem khi bất kỳ tuyến đường nào được kích hoạt không?

Trả lời

0

Một số chế độ xem có thể được lưu vào bộ nhớ cache nếu cần. Quyền lợi lưu vào bộ nhớ đệm phụ thuộc vào nội dung nào bạn đang hiển thị trong chế độ xem. Bạn phải xem xét một số khía cạnh khi đưa ra quyết định đặt chế độ xem trong bộ nhớ cache:

  • Kích thước bộ nhớ cache lớn có thể ảnh hưởng đến hiệu suất, vì vậy chỉ chọn những bộ nhớ thường được sử dụng để lưu vào bộ nhớ cache.
  • Lưu vào bộ nhớ đệm là yếu tố quan trọng cho những lượt xem đó, tải xuống các tài nguyên bổ sung.
  • Lưu ý, chế độ xem không sử dụng có thể ăn tài nguyên bộ nhớ.

Ngoài ra, đối cả hai trường hợp lưu trữ và uncached, bạn phải nhớ:

  • Nó cũng có thể dành thời gian đáng kể để tái render xem. Những chế độ xem khó hiển thị có thể bị ẩn, không bị xóa.
  • Zombie views. Chế độ xem cũ phải được đóng một cách an toàn, với các sự kiện chưa được kết nối, v.v.