Angularjs 可不可以删除“#&引用;使用状态提供程序从url
在github上找到了这个plunker,它显示了状态提供程序的基本工作,其中路由1和路由2分别显示两个视图ViewA和ViewB。我正在尝试从路由1和路由2的url中删除“#”。尝试使用位置提供程序启用HTML5模式($locationProvider.html5Mode(true)),但无效。有可能吗。提前感谢。代码>$locationProvider。HTML5模式(true)正是您所需要的。只需确保将Angularjs 可不可以删除“#&引用;使用状态提供程序从url,angularjs,Angularjs,在github上找到了这个plunker,它显示了状态提供程序的基本工作,其中路由1和路由2分别显示两个视图ViewA和ViewB。我正在尝试从路由1和路由2的url中删除“#”。尝试使用位置提供程序启用HTML5模式($locationProvider.html5Mode(true)),但无效。有可能吗。提前感谢。代码>$locationProvider。HTML5模式(true)正是您所需要的。只需确保将$locationProvider传递到应用程序配置中,就像对$stateProvide
$locationProvider
传递到应用程序配置中,就像对$stateProvider
所做的那样:
myapp.config(function($stateProvider, $locationProvider)
如果要检查浏览器对html5历史API的支持:
if(window.history && window.history.pushState){
$locationProvider.html5Mode(true);
}
仍然没有得到需要的结果。在我的本地服务器上,我将上述Plunker部署到Apache服务器上,以便浏览器中的url更清晰。现在,我看到的情况如下:没有位置提供程序,url是。现在,当我添加位置提供程序时,这些url将更改为:而期望的是将状态的
url
参数更改为url:“/StateProviderTest/route1”
或任何您想要推送的路由,这是一个更新的plunker:P.s.在plunker结果的右上角有一个蓝色的全屏按钮。如果您单击它,它将打开一个完整的plunker结果窗口,您可以看到URL的变化。