W3cubDocs

/Angular

RouterModule

ngmodule

Adds directives and providers for in-app navigation among views defined in an application. Use the Angular Router service to declaratively specify application states and manage state transitions.

See more...

class RouterModule {
  static forRoot(routes: Routes, config?: ExtraOptions): ModuleWithProviders<RouterModule>
  static forChild(routes: Routes): ModuleWithProviders<RouterModule>
}

See also

Description

You can import this NgModule multiple times, once for each lazy-loaded bundle. However, only one Router service can be active. To ensure this, there are two ways to register routes when importing this module:

  • The forRoot() method creates an NgModule that contains all the directives, the given routes, and the Router service itself.
  • The forChild() method creates an NgModule that contains all the directives and the given routes, but does not include the Router service.

Static methods

Creates and configures a module with all the router providers and directives. Optionally sets up an application listener to perform an initial navigation.

static forRoot(routes: Routes, config?: ExtraOptions): ModuleWithProviders<RouterModule>

Parameters
routes Routes

An array of Route objects that define the navigation paths for the application.

config ExtraOptions

An ExtraOptions configuration object that controls how navigation is performed.

Optional. Default is undefined.

Returns

ModuleWithProviders<RouterModule>: The new NgModule.

When registering the NgModule at the root, import as follows:

@NgModule({
  imports: [RouterModule.forRoot(ROUTES)]
})
class MyNgModule {}

Creates a module with all the router directives and a provider registering routes, without creating a new Router service. When registering for submodules and lazy-loaded submodules, create the NgModule as follows:

static forChild(routes: Routes): ModuleWithProviders<RouterModule>

Parameters
routes Routes

An array of Route objects that define the navigation paths for the submodule.

Returns

ModuleWithProviders<RouterModule>: The new NgModule.

@NgModule({
  imports: [RouterModule.forChild(ROUTES)]
})
class MyNgModule {}

Directives

Name Description
RouterLink

When applied to an element in a template, makes that element a link that initiates navigation to a route. Navigation opens one or more routed components in one or more <router-outlet> locations on the page.

RouterLinkActive

Tracks whether the linked route of an element is currently active, and allows you to specify one or more CSS classes to add to the element when the linked route is active.

RouterLinkWithHref

When applied to an element in a template, makes that element a link that initiates navigation to a route. Navigation opens one or more routed components in one or more <router-outlet> locations on the page.

RouterOutlet

Acts as a placeholder that Angular dynamically fills based on the current router state.

© 2010–2023 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://angular.io/api/router/RouterModule