Angular New Router从URL中删除/#



我使用的是angular 1.4.6和新路由器版本0.5.3,希望从url中删除"/#"。在互联网上似乎找不到任何关于它的信息。

编辑:$locationProvider.html5mode(true);给出以下错误:Uncaught Error: [$injector:modulerr] Failed to instantiate module app due to: TypeError: $locationProvider.html5mode is not a function

只有在支持HTML5历史API的浏览器中,才能从URL中删除Hashtag。正如您在这里看到的,它在IE9中不受支持,所以在这种情况下,它将回退到Hashtags。

话虽如此,为了在支持的浏览器中使URL美观,您可以使用$locationProvider配置来启用html5Mode,如下所示。

  angular.module('myApp', [])  
         .config(function($locationProvider){
             $locationProvider.html5Mode(true);
         });

除此之外,您还需要为角度路由器定义应用程序的基本URL,以识别路由。如果您的URL是

http://localhost:8080/myApp/#showLogin
http://localhost:8080/myApp/#showHomePage

然后您需要使用<base>标签来定义基本URL,如下面的

<head>
    <base href="/myApp">
</head>

希望这有帮助:(

取自Scotch.io

$locationProvider.html5Mode(true);

相关内容

  • 没有找到相关文章

最新更新