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 TopMenu và Tooltip 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?