2014-02-17 28 views
0

从本质上讲,我想创建一个个人网站,像这样的功能之一:如何以某种方式使用Backbone.js的单页网站

https://sublime.wbond.net/packages/Jade

借助于此它包含在一个HTML页面,并点击内在导航项上只会加载所需的信息。

看着javascript代码,我相信开发人员正在使用Backbone.js和Handlebars.js。我认为他们使用PHP作为后端。

有一个关键的功能,我后面是在这个网站。实质上,当你在上述目录下,然后你改变为https://sublime.wbond.net/docs时,只有需要的HTML会有一个AJAX请求,然后它被附加到当前页面。

通过遵循教程编写了一个简单的骨干应用程序,它看起来有不同的做法。使用节点托管应用程序,它将加载所有内容。当你转到另一个目录时,它仍然会加载所有内容,然后骨干网会根据URL追加正确的内容。我可以看到这对于某些类型的应用程序很有用,但我不想要这种功能。我更深入地研究了它,并考虑了在骨干中使用fetch()功能,但我不太确定他是否也在使用它。

看起来好像他正在做一些类似Rendr的Airbnb。我无法真正使用它,因为现在文档不够用。

它看起来像当你调用一个页面时,它只是给你HTML准备就绪,无需在本地进行编译。在利用骨干网方面,我在这里有什么缺点吗?或者这只是他为解决这个问题而做的一些工具?

+1

骨干路由器让你这样做。你需要告诉它使用pushState。 http://backbonejs.org/#Router – david

回答

0

如果你不害怕在视频前花费几个小时,那么excellent screencasts可以帮助你开始:这个家伙解释了如何使用Backbone和Marionette从头开始构建一个单页应用程序。

0

这个网站没有使用支柱,他使用的解决方案是完整的HTML页面加载和JSON调用的MIXTE,看看这个链接:

https://sublime.wbond.net/browse.json

https://sublime.wbond.net/search.json

https://sublime.wbond.net/docs.html

https://sublime.wbond.net/news.html

https://sublime.wbond.net/stats.json

+0

是的,我在观察网站时观察到了这一点。但是,如果您查看app.js,则会看到对Backbone和Handlebars的引用,这就是为什么我认为他在使用它们,尽管它没有明确显示包含它们。 – BLB

0

与wbond.net具有相同行为的最简单方法是更改​​在后端渲染页面的方式。您需要检查请求是否为XHR,并仅显示内容,而不进行布局。在前端,你需要将点击事件绑定到每个链接上,这些链接将在绑定的URL上发送AJAX请求,并将整个响应放在页面内容区(jQuery的$ .get()方法)中。

+0

是的,我想我将不得不做一次检查,看XHR是否会在节点内发送不同的代码,这很容易。 – BLB