angular.module('html5routedemo', ['ngRoute'])
.controller('MainCtrl', [
"$location", "$scope",
function($location, $scope) {
$scope.goToPath = function goToPath(path) {
$location.path(path);
};
}
])
.config([
"$locationProvider", "$routeProvider",
function configLocationProvider($locationProvider, $routeProvider) {
$locationProvider.html5Mode(true);
$routeProvider.when('/page1', {
templateUrl: 'inapp1.html'
});
$routeProvider.when('/page2', {
templateUrl: 'inapp2.html'
});
$routeProvider.when('/page3', {
templateUrl: 'inapp3.html'
});
$routeProvider.otherwise({
templateUrl: 'noroute.html'
});
}
]);
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<base href="." />
<title>AngularJS Plunker</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular.min.js" data-require="angular.js@1.2.x" data-semver="1.2.22"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular-route.min.js"></script>
<script src="app.js"></script>
</head>
<body ng-app="html5routedemo" ng-controller="MainCtrl">
<h1>AngularJS HTML5 Routing with Base</h1>
<ul>
<li><a href="page1">App Page 1 (path implicit)</a></li>
<li><a href="./page2">App Page 2 (path explicit)</a></li>
<li><a ng-click="goToPath('/page3')" href="#">App Page 3 (programmatic)</a></li>
<li><a href="other1">Non-App Page 1 (path implicit)</a>
<li><a href="./other2">Non-App Page 2 (path explicit)</a>
<li><a href="/other3">Non-App Page 3 (path root-relative)</a>
</ul>
<div ng-view=""></div>
<script type="text/ng-template" id="inapp1.html">
In-Application Page 1
</script>
<script type="text/ng-template" id="inapp2.html">
In-Application Page 2
</script>
<script type="text/ng-template" id="inapp3.html">
In-Application Page 3
</script>
<script type="text/ng-template" id="noroute.html">
No matching route.
</script>
</body>
</html>