使用html5mode(true)时,在angular.js
页面刷新时未加载视图 <base href="/">
<div ng-app="directives" >
<a href="/home">Home</a>
<a href="/about">about</a>
<a href="/contact">contact</a>
<div ng-view></div>
</div>
配置中的
directives.config(["$routeProvider","$locationProvider",function($routeProvider,$locationProvider){
$routeProvider.when("/",{
templateUrl:"directives/home.html"
}).when("/home",{
templateUrl:"directives/about.html"
}).when("/about",{
templateUrl:"directives/contact.html"
}).when("/contact",{
templateUrl:"directives/about.html"
}).otherwise({
redirectTo : "/"
})
$locationProvider.html5Mode(true).hashPrefix("!")
}])
没有呈现正确的视图。
答案 0 :(得分:0)
这是使用html5Mode(true)
的缺点之一。
基本上,您的服务器无法找到该资源,因为该URL下没有该资源。该地址由Angular控制,此时,Angular尚未开始控制页面和URL以及其他内容。
我发现此问题的解决方案是在我的Apache服务器上设置URL重写(http://httpd.apache.org/docs/2.0/misc/rewriteguide.html)以清理URL并删除html5Mode(true)
。