Angular 16 Routing Example Tutorial

Angular is a popular front-end web framework for building dynamic single-page applications (SPAs). One of the essential features of Angular is its routing mechanism, which allows you to navigate between different views or components without requiring a full page reload. Angular routing is accomplished through the Angular Router module, and it helps create a seamless and smooth user experience within your application.

In this tutorial, you will learn how to create a simple multi-page application with different routes using the Angular Router module with routing.

Angular 16 Routing Example Tutorial

Steps to implement routing using the Angular Router module. And build a simple multi-page application with different routes in angular applications:

  • Step 1: Create a New Angular Project
  • Step 2: Create Components
  • Step 3: Define Routes
  • Step 4: Update AppModule
  • Step 5: Create Navigation Links
  • Step 6: Serve the Application

Step 1: Create a New Angular Project

Open your terminal (or command prompt) and execute the following command to install and create a new Angular project:

ng new my-new-app

This will create a new Angular project with the name “angular-routing-example.” Enter the project directory:

cd angular-routing-example

Step 2: Create Components

In this step, we’ll create two components: HomeComponent and AboutComponent, which will be used for our routing example.

ng generate component home
ng generate component about

Step 3: Define Routes

Open the ‘app-routing.module.ts’ file in the ‘src/app’ directory. Here, we’ll define our routes for the HomeComponent and AboutComponent.

import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { HomeComponent } from './home/home.component';
import { AboutComponent } from './about/about.component';

const routes: Routes = [
  { path: '', component: HomeComponent },
  { path: 'about', component: AboutComponent },
  { path: '**', redirectTo: '' } // Redirect to HomeComponent if the URL doesn't match any defined route
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }

Step 4: Update AppModule

Open the ‘app.module.ts’ file in the ‘src/app’ directory and import the AppRoutingModule we just created.

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppRoutingModule } from './app-routing.module'; // Import the AppRoutingModule
import { AppComponent } from './app.component';
import { HomeComponent } from './home/home.component';
import { AboutComponent } from './about/about.component';

@NgModule({
  declarations: [
    AppComponent,
    HomeComponent,
    AboutComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule // Add the AppRoutingModule to the imports array
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

Step 5: Create Navigation Links

Open the ‘app.component.html’ file in the ‘src/app’ directory and add navigation links to navigate between the HomeComponent and AboutComponent.

<nav>
  <a routerLink="/">Home</a>
  <a routerLink="/about">About</a>
</nav>

<router-outlet></router-outlet>

Step 6: Serve the Application

Finally, execute the following command on cmd or terminal to serve your Angular application:

ng serve

Now, open your browser and go to http://localhost:4200. You should see your Angular app running with navigation links for the Home and About components. Clicking on these links will navigate you to the respective components.

Conclusion

That’s it! You have set up basic routing in your Angular application. Remember that this is a simple example, and Angular’s routing capabilities are vast, allowing for more complex configurations like nested routes, lazy loading, and route guards.

Recommended Angular Tutorials

AuthorDevendra Dode

Greetings, I'm Devendra Dode, a full-stack developer, entrepreneur, and the proud owner of Tutsmake.com. My passion lies in crafting informative tutorials and offering valuable tips to assist fellow developers on their coding journey. Within my content, I cover a spectrum of technologies, including PHP, Python, JavaScript, jQuery, Laravel, Livewire, CodeIgniter, Node.js, Express.js, Vue.js, Angular.js, React.js, MySQL, MongoDB, REST APIs, Windows, XAMPP, Linux, Ubuntu, Amazon AWS, Composer, SEO, WordPress, SSL, and Bootstrap. Whether you're starting out or looking for advanced examples, I provide step-by-step guides and practical demonstrations to make your learning experience seamless. Let's explore the diverse realms of coding together.

Leave a Reply

Your email address will not be published. Required fields are marked *