AngularJS Routing

AngularJS, Google’s popular JavaScript framework, is known for its ability to create dynamic, robust single-page applications (SPAs). One of the key features that make SPAs with AngularJS feasible is its routing mechanism. Routing in AngularJS provides a way to manage different views within a single page. This article will delve into the inner workings of AngularJS routing, its significance, and how it contributes to creating a seamless user experience.

What is Routing in AngularJS?

Routing in AngularJS refers to the transition from one view to another in a single-page application. Unlike traditional multi-page applications, where each page corresponds to a separate physical file, SPAs load a single HTML page and dynamically update the content based on user interaction. This is where AngularJS routing comes into play.

In AngularJS, different parts of an application are separated into multiple views, each associated with a particular URL. As the user navigates through the application, AngularJS changes the view displayed in the browser based on the current URL, creating the illusion of navigating through different pages.

Setting Up AngularJS Routing

To use AngularJS routing, we first need to include angular-route.js in our application. It is a separate AngularJS library that isn’t included in the main AngularJS file.

After the inclusion of the angular-route.js file, the next step is to include the ngRoute module in your application by adding it as a dependency in your main AngularJS module.

var app = angular.module("myApp", ["ngRoute"]);

The configuration for the routes is then set up using $routeProvider in the config function of your AngularJS application.

app.config(function($routeProvider) {
    .when("/", {
        templateUrl : "main.htm"
    .when("/red", {
        templateUrl : "red.htm"
    .when("/green", {
        templateUrl : "green.htm"
        redirectTo: '/'

In the above configuration, when() method takes two arguments – the URL of the route and a route definition object. The route definition object has properties like templateUrl (the path of the HTML view file) and controller (the controller associated with the view).

Benefits of AngularJS Routing

  1. Improved User Experience: AngularJS routing allows users to navigate through different parts of the application without having to wait for a complete page reload, leading to a smoother and faster user experience.
  2. Bookmarkable URLs: Each view in an AngularJS application has its own URL. This means users can bookmark the URL of a particular state of the application and return to it later, just like they can with a traditional multi-page application.
  3. Modular Development: With AngularJS routing, developers can work on different parts of an application separately. Each view can have its own controller, which helps in keeping the code clean and maintainable.
  4. Easy Integration with Server-Side Routing: AngularJS’s routing mechanism can easily co-exist with server-side routing, enabling you to create web applications that benefit from the strengths of both server-side and client-side rendering.


Routing is a fundamental aspect of AngularJS that enables the creation of single-page applications with multiple views. It provides an effective way to separate different parts of an application, keeping the development process organized and manageable. Furthermore, routing enhances user experience by providing quick, seamless navigation through the application. Understanding and effectively leveraging AngularJS’s routing mechanism is therefore essential for building dynamic, user-friendly single-page applications.


Table of Contents

Related posts