我正在使用angularjs,并且有一个非常基本的应用程序...
let app = angular.module('GHoF', [
'ngRoute'
]);
app.config(function Config($routeProvider) {
// Routes
console.log($routeProvider);
$routeProvider
.when('/applications', {
templateUrl: 'app/pages/myApplications/myApplications.html',
controller: 'MyApplicationsCtrl'
})
.otherwise({
redirectTo: 'app/pages/auth.html'
})
});
HTML
<html lang="en" ng-app="GHoF">
<head>
<script src="node_modules/angular/angular.js"></script>
<script src="node_modules/angular-route/angular-route.js"></script>
<script src="app/app.js"></script>
<title>Home</title>
</head>
<body>
<main ng-view></main>
</body>
问题是它将我重定向到错误的URL。
我不知道为什么,但是它在URL中显示为/#!
。这是一个非常基本的应用...
您需要启用HTML5Mode
才能摆脱哈希爆炸。首先,您需要在索引文件中添加基本href(我通常将其直接放在开头的<head>
标签下面):
<base href="/" />
然后在您的配置中,您应该通过$ locationProvider启用它:
app.config(function Config($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$routeProvider
.when('/applications', {
templateUrl: 'app/pages/myApplications/myApplications.html',
controller: 'MyApplicationsCtrl'
})
.otherwise({
redirectTo: 'app/pages/auth.html'
})
});