【问题标题】:How to hide url in angular?如何以角度隐藏网址?
【发布时间】:2013-08-26 02:56:07
【问题描述】:

是否可以不使用角度路线,因为如果我定义了如下路线:

app.config(function($routeProvider){
    $routeProvider.when('/home')
})

我的网址看起来像 www.app.com/#home,

我不想改变 url,只是 www.app.com 干净整洁,在这种情况下如何为不同的控制器定义模板以及如何在 ng-view 中加载模板,以及如何传递 url 参数?

有什么想法吗?

【问题讨论】:

标签: url angularjs view routes


【解决方案1】:

使用内置路由机制无法做到这一点,因为每个路由都需要path。但是,您可以使用 ui-router 库来创建无 URL 状态并使用 either code or directive 导航到它们。

我创建了这个plunker 来演示如何使用ui-router 在不修改 URL 的情况下导航。

【讨论】:

  • 很好用,一件事要注意如何定义根状态,如 .otherwise()
  • 您的意思是防止用户输入错误的 URL 或开发人员输入错误的州名?您正在寻找什么用例?
  • ui-router 隐藏了 url 但刷新页面时状态被重置,我仍然需要 url 来定位当前页面
  • 因为没有URL,所以总是默认到指定的根页面,即url: ''的那个。如果你想“记住”位置,你必须自己编码。一个想法是监听状态变化事件,然后将当前状态名称存储在 cookie 或 localStorage 中。然后稍后在应用启动时,以编程方式进入该状态。
猜你喜欢
  • 2021-03-28
  • 1970-01-01
  • 1970-01-01
  • 2016-02-02
  • 1970-01-01
  • 1970-01-01
  • 2019-08-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多