我写了一个相当简单的应用程序并将其放在github上,以便可以在网上查看。但是网址似乎存在问题(或者其他的东西!)。我设法使其在localhost上工作的唯一方法是在我的导航栏中使用#符号并在我的配置函数中使用常规网址(不带#):
<ul class="nav navbar-nav navbar-right">
<li ng-class="{ active: isActive('/')}"><a href="/#/">Home</a></li>
<li ng-class="{ active: isActive('/games')}"><a href="/#/games">Games</a></li>
<li ng-class="{ active: isActive('/contact')}"><a href="/#/contact">Contact</a></li>
</ul>
app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
controller: 'Posts',
templateUrl: 'controllers/posts.html'
})
.when('/games', {
controller: 'Games',
templateUrl: 'controllers/games.html'
})
.when('/contact', {
controller: 'Games',
templateUrl: 'controllers/contact.html'
})
.when('/:id', {
controller: 'Games',
templateUrl: 'controllers/reviews.html'
})
.otherwise({
redirectTo: '/'
});
}]);
但它并不适用于github.io,只有第一页才有效。当我点击games
按钮时,它会显示
找不到404文件
虽然我当然把所有html文件放在 controllers 文件夹中。
答案 0 :(得分:1)
你的href的额外/
删除指示前往域根目录的前导
<a href="/#/contact">Contact</a>
应该是:
<a href="#/contact">Contact</a>
这样只会在href
中留下一个哈希值