Angularjs 主页和URL的路由';s代表网站
我正在用多个html文件创建一个网站,这些文件通过ionic框架链接在一起,并使用AngularJS在各州之间传输。我想知道#在a href中是什么意思,以及它在状态转移中扮演什么角色。如果我在像这样的文本上有一个hrefAngularjs 主页和URL的路由';s代表网站,angularjs,url-routing,ionic-framework,Angularjs,Url Routing,Ionic Framework,我正在用多个html文件创建一个网站,这些文件通过ionic框架链接在一起,并使用AngularJS在各州之间传输。我想知道#在a href中是什么意思,以及它在状态转移中扮演什么角色。如果我在像这样的文本上有一个href <a href="#/app/page2">hi</a> 但是它不起作用首先,url中的#是什么意思 任何包含#字符的URL都是片段URL。部分 #左边的URL标识了可以访问的资源 由浏览器和右侧部分下载,称为 片段标识符,指定资源中的位置 请在此处
<a href="#/app/page2">hi</a>
但是它不起作用首先,url中的#
是什么意思
任何包含#字符的URL都是片段URL。部分
#左边的URL标识了可以访问的资源
由浏览器和右侧部分下载,称为
片段标识符,指定资源中的位置
请在此处阅读更多->
换句话说,#
之后的部分可以“服务”,而无需发出整个http请求。事实上,#
之后的部分从来不会在任何http请求中发送
默认情况下,angularjs使用URL中的#
。这意味着angular router仅在URL具有#时才会获取URL。然后在控制器中,您可以捕获请求并使用ajax获取所需的数据
http://example.com/#/about
http://example.com/#/contact
您可以通过启用HTML5模式
来禁用它,您可以在路由器配置中执行此操作:
$locationProvider.html5Mode(true);
所以你们的URL应该是这样的,角度路由器应该可以正常工作
http://example.com/about
http://example.com/contact
我建议不要使用#URL,这有点旧了。我的选择是使用普通URL。我明白了。使用普通URL是什么意思?您建议使用ng click而不是tag吗?@user3226932不,您可以不使用#,只需
href=“/your/url”
。ng click是关于点击处理程序的,而不是URL;在我的配置中,我甚至尝试将index.html头放入其中,但它不起作用,直到不起作用为止。另外,将index.html头放在里面似乎抛出了一个错误,因为它不会加载html页面。@user3226932您可以发布您的路由器代码吗?您使用什么作为后端?
http://example.com/about
http://example.com/contact