В основном, что я пытаюсь сделать, это найти лучший способ управлять всеми моими взглядами. Так что все мои взгляды закрываются и создаются, когда это необходимо .. И из-за этого я создал отдельный менеджер внутри моего Backbone.Router
экземпляра, который заботится обо всех моих представлениях следующим образом.Режимы подкачки -managing app
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();
});
});
...
}
Как вы можете увидеть TopMenu и Tooltip созданы вид только один раз, как я не ожидаю, что будет какой-либо необходимости изменения их содержания. И я также хотел бы избежать пробелов во время загрузки просмотров ...
Я не уверен, что это хорошая идея, хотя все остальные виды закрываются и повторно запускаются один раз Я перемещаюсь с одного маршрута на другой.
Итак, вопрос в том, хорошая практика, чтобы эти представления были настроены таким образом? Или я должен всегда воссоздавать представления, когда запускается какой-либо маршрут?