【发布时间】:2013-10-20 16:35:51
【问题描述】:
似乎 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 - 已经渲染的标记吗?
【问题讨论】:
-
那么问题出在哪里?不要更改网址!不要使用路由器,让您的应用程序仅通过鼠标(或键盘)事件与用户交互,或者每次套接字发送事件时更新模型或视图!
-
@KiTO 嘿!任何参考,教程,类似的问题?我被困在那里了……你说的正是我在这里要问的!
-
好的,问题很大。 Backbone 方式(我不熟悉 angular、jade 和 node!):不要创建任何路由器。这很简单! Impelement 使用套接字的新模型并通过任何套接字事件执行适当的操作。在该模型中,当套接字发送事件(
IO.on('event'))时,加载模板(如何!donno 玉方式!)加载模型(可能是来自套接字事件的数据)并渲染视图。我还没有看到任何关于这个特定问题的教程。 -
@KiTO 谢谢!我会试一试...如果您将其发布为答案,我也会投票!
标签: node.js angularjs backbone.js socket.io pug