【问题标题】:Single Page App without URL没有 URL 的单页应用程序
【发布时间】:2015-02-15 20:24:06
【问题描述】:

我正在加入一个目前正在开发单页应用程序的团队。它是用 AngularJS 编写的,但与主题无关。

该应用程序非常复杂(许多独立的视图,每个视图具有复杂的不同状态)以至于他们完全删除了路由器(好吧,摘录默认路由)。

我正在谷歌搜索,但我没有看到没有尝试与 URL 正常工作的 webapp 示例。除了“这不是优雅的方式”这一事实之外,不使用任何 URL 是否有任何风险?

编辑:ui-router 不适合,因为这个问题:https://github.com/christopherthielen/ui-router-extras/issues/90

【问题讨论】:

  • 有趣的是,他们移除了路由器,因为它变得太复杂了。路由器应该通过将功能移动到自己的模块中来解决复杂性。

标签: angularjs url single-page-application


【解决方案1】:

听起来你想研究像 UI-Router 这样在状态上工作的东西。

https://github.com/angular-ui/ui-router

如果您这样做,我无法想象您的应用会出现任何重大问题,但我可以看到大量臃肿的控制器和代码来尝试解决您发现的任何问题。

【讨论】:

  • 不,这不是问题。该应用程序对于ui-router来说太复杂了,它已经尝试过但被放弃了。
【解决方案2】:

正如@Varedis 所说,您可以使用 ui-router,但要回答您的实际问题,请考虑 url 的用例。

如果您只有一个 url,那么您的应用程序只有一个入口点。如果用户希望能够快速进入您的应用程序中的某个区域(状态),这可能会很烦人。只有一个 url 意味着用户无法为应用程序的任何特定部分添加书签、直接访问或使用搜索引擎查找。

您可以使用 cookie 或 LocalStorage 等其他机制来跟踪状态,但这些对用户来说不太可见。

【讨论】:

    【解决方案3】:

    我在这个项目上工作,一个月前我创立了 ui-router-extras,它提供了并行状态,但它不能超过one state instance

    还有其他解决方案吗?

    【讨论】:

      猜你喜欢
      • 2012-11-12
      • 2016-10-09
      • 1970-01-01
      • 2017-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多