【问题标题】:Design pattern for single page application [closed]单页应用程序的设计模式 [关闭]
【发布时间】:2013-02-20 21:36:56
【问题描述】:

我有一个主观问题,主要从 UI 角度寻找答案。

假设我需要创建 2 个页面

  1. 登录页面
  2. 主页

在登录页面上,我会显示用户名/密码,在成功验证后,我会显示主页。现在要注意了,它应该是一个页面(例如单个 html 文件)所以在成功的身份验证后,将显示主页(但将显示相同的 html 或地址栏 URL 将保持不变)

我怎样才能实现相同的功能?

同样使用面向对象的 JavaScript 并假设 JSON 数据,我应该创建多少个 JavaScript 类以及它们将包含什么?

同样作为同一问题的扩展,假设我允许用户也使用他们的 Facebook/Twitter/Gmail 帐户登录,我必须对上面创建的 JavaScript 类(或对象)进行哪些更改?

因此,如果有人使用 FB 登录,而不是显示我的登录屏幕,用户将直接看到我的主页。请记住,我需要一个 html 文件(用于登录/主页)

【问题讨论】:

  • 听起来更像是在问如何完成整个工作。我建议您将其分解为处理特定主题的各个问题。
  • 我只需要方法而不是确切的代码/解决方案...

标签: javascript jquery json model-view-controller design-patterns


【解决方案1】:

您有几个问题。例如,对于这些问题中的任何一个都没有一般的答案, 我应该创建多少个 JavaScript 类以及它们将包含什么? - 这完全由您决定。这取决于您页面的复杂性。

我认为您需要先阅读一些教程。 http://www.asp.net/single-page-application http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2159

【讨论】:

    【解决方案2】:

    如果您正在寻找轻量级的东西,您可以使用此处描述的模块导出模式:http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth。发出 ajax 调用并使用 js 模板应用/删除 html 模板。 JavaScript 应用程序的最佳实践总是需要删除全局范围。模块导出模式也不例外。所有大牌框架(ember 和骨干)也是如此。如果您需要更强大的东西,请使用 ember 或骨干。如果你真的想变得很酷,请使用卓别林。 http://chaplinjs.org。我之所以这么说,是因为它具有严格的内存管理,这在单页应用程序中是绝对需要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-12
      • 2016-09-09
      • 2012-03-05
      • 2017-07-29
      • 2012-06-30
      相关资源
      最近更新 更多