node.js服务器有两个角色:
目前,我的所有网页都会显示一个"正在加载页面..."结合Backbone应用程序,在Backbone.router启动时替换DOM。
我想在用户到达页面时构建服务器端的网站页面,并在用户在网站上导航时让Backbone处理导航的下一部分。
我知道如何在服务器端但客户端执行它,当页面加载了已构建的DOM时,Backbone.router加载然后替换DOM,因为它不知道视图已经预加载。 / p>
如何修复客户端?
代码:
更新:新代码:https://gist.github.com/mathieug/d50c861e63dd647f1c2b
现在我需要在第一次加载时调用runSlider方法。
答案 0 :(得分:2)
当您启动历史记录时,请务必通过{silent: true}
作为选项让Backbone知道您已经加载了完整的页面。这将阻止路由器在视图已预加载(第一次)时替换DOM。
如果服务器已经渲染了整个页面,并且您不希望在启动历史记录时触发初始路由,请传递
silent: true
。
因此,您的代码应如下所示:
Backbone.history.start({pushState: true, silent:true});