<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.min.js"></script>
<script src="https://npmcdn.com/@angular/router@0.2.0/angular1/angular_1_router.js"></script>
<script src="https://npmcdn.com/angular-component-router-active@0.0.6/angular-component-router-active.js"></script>
<script src="home.js"></script>
<script src="about.js"></script>
<script src="app.js"></script>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
angular.element(document.getElementsByTagName('head')).append(angular.element('<base href="' + window.location.pathname + '" />'));
</script>
</head>
<body ng-app="app">
<app>
Loadng...
</app>
</body>
</html>
/* Styles go here */
.active {
background: #0d47a1;
}
ul {
list-style: none;
width: 100%;
background: #2196f3;
margin:0;
padding:0;
}
ul li {
display: inline-block;
}
ul li a {
display: inline-block;
padding: 16px;
color: #fff;
text-decoration: none;
}
(function(angular) {
'use strict';
angular.module('app', ['ngComponentRouter', 'wapweb.componentRouterActive', 'home', 'about'])
.config(function($locationProvider) {
$locationProvider.html5Mode(true);
})
.value('$routerRootComponent', 'app')
.component('app', {
templateUrl: 'app.html',
$routeConfig: [{
path: '/',
name: 'Home',
component: 'home',
useAsDefault: true
}, {
path: '/about',
name: 'About',
component: 'about'
}]
});
})(window.angular);
<ul>
<li router-active='active'>
<a ng-link="['/Home']">Home</a>
</li>
<li>
<a router-active='active' ng-link="['/About']">About</a>
</li>
</ul>
<ng-outlet></ng-outlet>
(function(angular) {
'use strict';
angular.module('about', [])
.component('about', {
templateUrl: 'about.html'
});
})(window.angular);
<h2>About component</h2>
(function(angular) {
'use strict';
angular.module('home', [])
.component('home', {
templateUrl: 'home.html'
});
})(window.angular);
<h2>Home component</h2>