0

似乎 angular.js 和 backbone.js 都更喜欢用户更改浏览器状态(通过地址栏),然后他们将针对已定义的routes. 这仍然是一个单页 Web 应用程序,但就我而言,当用户与应用程序交互时,我真的不需要更改地址栏,我也希望尽可能避免它。

作为 angular.js 和backbone.js 的新手,我在使用angular.js 或backbone.js 时如何构建我的单页Web 应用程序,但不接触地址栏时遇到了困难。

我有一个 node.js、jade 和 socket.io 设置(没有 express.js),而 socket.io 是客户端和服务器之间通信的主要方式。

更具体地说,假设我正在加载 dashbaord.jade,现在如何在 socket.io 检测到事件时将一些部分注入到主标记中?我也可以替换整个 dashbaord.jade - 已经渲染的标记吗?

4

1 回答 1

1

所以有什么问题?不要更改网址!不要使用路由器并使您的应用程序仅通过鼠标(或键盘)事件与用户交互,或者每次套接字发送事件时仅更新模型或视图!

我的解决方案:不要创建任何router,实现新类以使用套接字,并通过任何套接字事件执行适当的操作。在该类中为每个套接字事件定义一个方法,该方法加载模板和模型(可能从 socketIO 事件返回数据)并通过这些数据呈现视图。

于 2013-10-20T20:20:51.020 回答