主页的路由和网站的URL

时间:2015-03-16 23:54:12

标签: angularjs url-routing ionic-framework

我正在使用离子框架链接在一起的多个html文件创建一个网站,并使用AngularJS在状态之间进行转移。我想知道href中的#含义以及它在状态转移中扮演的角色。如果我在

这样的文字上有href
<a href="#/app/page2">hi</a>

有没有办法配置网址,以便在没有localhost/index.html#/app/page2的情况下说localhost/index.html/page2而不是"#/app"?我试过了

$locationProvider.html5Mode(true);

但它没有工作

1 个答案:

答案 0 :(得分:2)

首先,网址中的#是什么意思

  

任何包含#字符的URL都是片段URL。部分   #左侧的URL标识可以的资源   由浏览器和右边的部分下载,称为   片段标识符,指定资源中的位置

在此处阅读更多内容 - &gt; source

换句话说:#之后的部分可以“提供”而不需要完整的http请求。事实上,#之后的部分永远不会在任何http请求中发送。

默认情况下,angularjs与网址中的#一起使用。这意味着角度路由器只有在拥有#时才会获取URL。然后在您的控制器中,您可以捕获请求并使用ajax获取所需的数据。

http://example.com/#/about
http://example.com/#/contact

你可以通过启用html5mode来禁用它,你可以把它放在你的路由器配置中:

$locationProvider.html5Mode(true); 

那么你的网址应该看起来像这样,角度路由器应该可以正常工作。

http://example.com/about
http://example.com/contact

我建议不要使用#urls,有点老。我的选择是使用普通网址。