Backbone Js加载部件中的应用程序

Backbone Js Load application in parts

本文关键字:应用程序 Js 加载部 Backbone      更新时间:2024-05-05

我正在backbone.js 中构建一个小型应用程序

它包括一个路由器、一些基本视图和模型等,以及一个博客。

关于博客,帖子的内容将保存在数据库中,但对于其他页面,内容包含在下划线模板中。这就是我的路由器的样子:

$(function() {
var Router = Backbone.Router.extend({
routes: {
  '': 'home',
  'home' : 'home',
  'portfolio' : 'portfolio'
}
});
var homeView = new HomeView({ el: $("#container") });
var portfolioView = new PortfolioView({ el: $("#container") });
var router = new Router();
router.on('route:home', function () {
    homeView.render();
});
router.on('route:portfolio', function () {
    portfolioView.render();
});
Backbone.history.start();
});

目前我只有主页视图和投资组合视图。我担心的是,当去我的网站地址时,整个应用程序会被加载吗?尽管它是一个小应用程序,但有没有办法将其分解为多个部分,例如,公文包视图和与之相关的所有数据(图像是我主要关心的问题),只有在导航到"公文包"时才会下载?处理这一问题的最佳方法是什么?对于一个相对较小的应用程序(几个页面和一个博客)来说,这是必要的吗?还是我真的错了,骨气已经这么做了?

感谢

对于一个小型应用程序,甚至对于大多数大型应用程序,完全没有必要担心这一点。只需发送所有JS/模板即可(最好是在生产中缩小并连接)。单页应用程序的要点是,当导航发生时,您不需要访问网络来获取HTML/JS/其他资产。你绝对不应该试图在网络上懒惰地加载你的模板。

就图像而言,只有当您真正向DOM添加<img>标记时,它们才会在网络上出现。