<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script>document.write('<base href="' + document.location + '" />');</script>
<link rel="stylesheet" href="style.css" />
<script data-require="angular.js@1.4.x" src="https://code.angularjs.org/1.5.6/angular.min.js" data-semver="1.5.6"></script>
<script data-require="ui-router@*" data-semver="1.0.0-alpha.5" src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-router/1.0.0-alpha.5/angular-ui-router.js"></script>
<script src="app.js"></script>
<script src="home/home.controller.js"></script>
<script src="about/about.controller.js"></script>
</head>
<body ng-app="plunker">
<div class="navbar">
<a href="#home">Home</a>
<a href="#about">About</a>
</div>
<div ui-view></div>
</body>
</html>
/* Put your css in here */
.navbar {
width: 100%;
padding-bottom: 5px;
border-bottom: 1px solid;
}
angular.module('plunker', [
'ui.router'
])
.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise("/");
//
// Now set up the states
$stateProvider
.state('home', {
url: "/",
template: "<home></home>"
})
.state('about', {
url: "/about",
template: "<about></about>"
})
}
);
<h1>Home</h1>
<p>{{ vm.message }}</p>
<h1>About</h1>
<p>{{ vm.message }}</p>
angular.module('plunker')
.directive('about', function() {
return {
restrict: 'E',
scope: {},
templateUrl: 'about/about.html',
controller: AboutController,
controllerAs: 'vm'
}
});
function AboutController() {
var vm = this;
vm.message = 'Hi from about';
};
angular.module('plunker')
.directive('home', function() {
return {
restrict: 'E',
scope: {},
templateUrl: 'home/home.html',
controller: HomeController,
controllerAs: 'vm'
}
});
function HomeController() {
var vm = this;
vm.message = 'Hi from home';
};