AngularJS route and view
angular ngRoute
The ngRoute module provides routing and deeplinking services and directives for angular apps.
To use angualr route, we need to include both javascript
<script src="angular.js"> <script src="angular-route.js">
Example
This covers routing and view switch using ngRoute.
Main – Detail using data
This example is base on nodejs express
route.ejs
<!doctype html>
<html lang="en" ng-app="routeApp">
<head>
<script src="/bower/angular/angular.min.js"></script>
<script src="/bower/angular-route/angular-route.min.js"></script>
<script src="/javascripts/route/app.js"></script>
<script src="/javascripts/route/controller.js"></script>
<link rel='stylesheet' href='/bower/bootstrap/dist/css/bootstrap.css' />
</head>
<body>
<div ng-view></div>
</body>
</html>
ng-view is template placeholder. It is managed in angular js code.
app.js(nodejs)
app.get('/routes', function(req, res, next) {
res.render('routes', { title: 'Routing' });
});
public/javascripts/route/app.js
var app = angular.module('routeApp', ['ngRoute', 'controller']);
app.config(['$routeProvider', function($routeProvider){
$routeProvider
.when('/list', {
templateUrl: 'partials/list.html',
controller: 'listController'
}).when('/list/:id', {
templateUrl: 'partials/details.html',
controller: 'detailController'
}).otherwise({
redirectTo:'/list'
});
}]);
public/javascripts/route/controller.js
var controller = angular.module('controller', []);
controller.controller('listController',['$scope', '$http',
function ($scope, $http) {
$http.get('name.json').success(function(data) {
$scope.people = data;
});
}
]);
controller.controller('detailController', ['$scope', '$routeParams',
function($scope, $routeParams) {
$scope.id = $routeParams.id;
}
]);
public/partials/details.html
Hi, <span>{{id}}</span>
public/partials/list.html
<div class="container-fluid">
<div class="row">
<div class="col-md-2">
<!--Sidebar content-->
Search: <input ng-model="query">
Sort by:
<select ng-model="orderProp">
<option value="name">Alphabetical</option>
<option value="age">Newest</option>
</select>
</div>
<div class="col-md-10">
<!--Body content-->
<ul class="people">
<li ng-repeat="person in people | filter:query | orderBy:orderProp" class="thumbnail">
<div>{{person.name}}</div>
<a href="#/list/{{person.name}}">{{person.nickname}}</a>
<p>{{phone.snippet}}</p>
</li>
</ul>
</div>
</div>
</div>
Ref
Angular JS Tutorial
