angular_router 2.0.0-alpha+20

  • Installing
  • Versions
  • 91

Pub package

The AngularDart router enables navigation from one view to the next as users perform application tasks.



Bug fixes

  • Fixed a discrepancy between the href rendered by RouterLinkDirective, and the browser location to which it would navigate upon being clicked when using routerProvidersHash.


  • Maintenance release to support Angular 5.0.


Bug fixes

  • HashLocationStrategy no longer drops query parameters (before the #) when pushing or replacing an empty URL.


New features

  • RouteDefinition.redirect now supports forwarding route parameters.


  • Maintanence release; declare official support for the Dart2 SDK.


Breaking changes

  • Removed component instance parameter from RouterHook.canNavigate().


Bug fixes

  • Preserves NavigationParams on redirection.

  • Added canNavigate to RouterHook.

  • Navigation will no longer succeed for an empty path if it doesn't match a route.


New features

  • Moved normalizePath() from an internal type to Location to give fine-grained control over path normalization.

Bug fixes

  • Fixed a regression where the RouterLinkActive directive would not activate for empty paths (including '/').

  • Fixed a bug where if a component threw an exception during routing the router would get in a perpetual bad state where it was impossible to route away or otherwise use the application.


Breaking changes

  • Renamed the platformStrategy field of Location to locationStrategy, since it's of type LocationStrategy.


New features

  • Added the method navigateByUrl to Router.


Breaking changes

  • The minimum SDK version is now sdk: ">=2.0.0-dev.46.0 <2.0.0".

Bug fixes

  • Router navigation requests are now queued to ensure they'll run sequentially in the order they were requested. Previously no attempt was made to synchronise navigation requests, and if multiple were made simultaneously they could run concurrently, interfere with each other, and potentially complete out of order.


Breaking changes

  • APP_BASE_HREF was removed in favor of appBaseHref.

  • When navigating to and from the same implementation of CanReuse, if it returns true, the implementation will remain attached to the DOM. Previously, components were unconditionally detached from the DOM on navigation, and reusable components would simply be reattached.

    This may be a change to the scroll behavior of your components, as temporarily removing reused components from the DOM could reset the scroll position if no other content was present.

Bug fixes

  • CanNavigate, CanDeactivate, and OnDeactivate should now always be invoked on the active instance of a component rather than the instance created during route resolution. This previously could occur when navigating away and back to a nested route whose parent was not reusable.


Breaking changes

  • APP_BASE_HREF is being renamed appBaseHref.


Breaking changes

  • RouterOutlet is no longer injectable.

  • Renamed to Router.onRouteActivated. is now deprecated and will be removed after next release.

Bug fixes

  • RouterPath.toUrl() no longer generates an incorrect URL with an extra '/' when a parent route has an empty path.


New features

  • Router.onNavigationStart now emits the requested navigation path.


New features

  • Added Router.onNavigationStart to notify subscribers when a navigation request starts.

  • Added the routerProvidersTest module for testing route configurations or components with router dependencies.

Breaking changes

  • Removed fuzzy arrow from MockLocationStrategy. It relied on Dart 1's treatment of dynamic as bottom to mock handling of popstate events without actually relying on dart:html. Since Angular must be tested in the browser anyways, there's no incentive to avoid this dependency. As a consequence, the signature of MockLocationStrategy.onPopState is now unchanged from LocationStrategy.onPopState.


Breaking changes

  • Removed SpyLocation. MockLocationStrategy should be used instead.

Bug fixes

  • Prevented canDeactivate() from being invoked twice during redirection. It will now only be invoked with the redirected next router state, without also being invoked with the intermediate next router state.

  • Prevented canNavigate() from being invoked twice during redirection.


New features

  • Added the CanNavigate lifecycle interface. This is similar to CanDeactivate, and preferred when the next RouterState isn't necessary to determine whether the router may navigate.

  • Added reload field to NavigationParams which can be used to force navigation, even if the path and other navigation parameters are unchanged.

  • Added replace field to NavigationParams which can be used to replace the current history entry on navigation instead of creating a new one.

Breaking changes

  • Removed hashCode and operator == overrides from RouteDefinition and RouterState, as these can't be removed by tree-shaking.

Bug fixes

  • Upon destruction, RouterOutlet will now properly destroy all of its cached components, instead of only destroying the active one.


  • Fixed a bug where RouterLinkDirective was not keyboard accessible.


  • Support for angular 5.0.0-alpha+1



  • Support for angular 4.0.0.


  • Minor internal changes to support angular 4.0.0-beta


  • Initial commit of angular_router. This is just a port of the router that was in the core angular package.

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:

  angular_router: ^2.0.0-alpha+20

2. Install it

You can install packages from the command line:

with pub:

$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:angular_router/angular_router.dart';
Version Uploaded Documentation Archive
1.0.2 Aug 30, 2017 Go to the documentation of angular_router 1.0.2 Download angular_router 1.0.2 archive
1.0.1 Aug 24, 2017 Go to the documentation of angular_router 1.0.1 Download angular_router 1.0.1 archive
1.0.0 Aug 7, 2017 Go to the documentation of angular_router 1.0.0 Download angular_router 1.0.0 archive
2.0.0-alpha+21 Dec 10, 2018 Go to the documentation of angular_router 2.0.0-alpha+21 Download angular_router 2.0.0-alpha+21 archive
2.0.0-alpha+20 Oct 10, 2018 Go to the documentation of angular_router 2.0.0-alpha+20 Download angular_router 2.0.0-alpha+20 archive
2.0.0-alpha+19 Aug 7, 2018 Go to the documentation of angular_router 2.0.0-alpha+19 Download angular_router 2.0.0-alpha+19 archive
2.0.0-alpha+18 Aug 2, 2018 Go to the documentation of angular_router 2.0.0-alpha+18 Download angular_router 2.0.0-alpha+18 archive
2.0.0-alpha+17 Jul 19, 2018 Go to the documentation of angular_router 2.0.0-alpha+17 Download angular_router 2.0.0-alpha+17 archive
2.0.0-alpha+16 Jul 16, 2018 Go to the documentation of angular_router 2.0.0-alpha+16 Download angular_router 2.0.0-alpha+16 archive
2.0.0-alpha+15 Jun 29, 2018 Go to the documentation of angular_router 2.0.0-alpha+15 Download angular_router 2.0.0-alpha+15 archive

All 25 versions...

Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
Learn more about scoring.

We analyzed this package on Dec 5, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.1.0
  • pana: 0.12.7


Detected platforms: web

Primary library: package:angular_router/angular_router.dart with components: html, js.

Health suggestions

Fix lib/src/directives/router_link_active_directive.dart. (-0.50 points)

Analysis of lib/src/directives/router_link_active_directive.dart reported 1 hint:

line 48 col 29: 'stream' is deprecated and shouldn't be used.

Fix lib/src/router/router.dart. (-0.50 points)

Analysis of lib/src/router/router.dart reported 1 hint:

line 53 col 47: 'stream' is deprecated and shouldn't be used.

Maintenance suggestions

The description is too short. (-20 points)

Add more detail about the package, what it does and what is its target use case. Try to write at least 60 characters.

Maintain an example. (-10 points)

Create a short demo in the example/ directory to show how to use this package. Common file name patterns include: main.dart, example.dart or you could also use angular_router.dart.

Package is pre-release. (-5 points)

Pre-release versions should be used with caution, their API may change in breaking ways.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.1.0-dev.5.0 <3.0.0
angular ^5.1.0 5.1.0
collection ^1.14.5 1.14.11
js ^0.6.0 0.6.1+1
meta ^1.1.4 1.1.6
Transitive dependencies
analyzer 0.33.6 0.34.0
angular_ast 0.5.7
angular_compiler 0.4.1
args 1.5.1
build 1.0.2
build_config 0.3.1+4
built_collection 4.1.0
built_value 6.1.6
charcode 1.1.2
code_builder 3.1.3
convert 2.0.2
crypto 2.0.6
csslib 0.14.6
dart_style 1.2.0 1.2.1
fixnum 0.10.9
front_end 0.1.6+8 0.1.7
glob 1.1.7
html 0.13.3+3
intl 0.15.7
json_annotation 2.0.0
kernel 0.3.6+8 0.3.7
logging 0.11.3+2
matcher 0.12.4
package_config 1.0.5
path 1.6.2
plugin 0.2.0+3
pub_semver 1.4.2
pubspec_parse 0.1.2+3
quiver 2.0.1
source_gen 0.9.1+3
source_span 1.4.1
stack_trace 1.9.3
string_scanner 1.0.4
typed_data 1.1.6
utf 0.9.0+5
watcher 0.9.7+10
yaml 2.1.15
Dev dependencies
angular_test ^2.1.0
async ^2.0.3 2.0.8
build_runner ^1.0.0
build_test ^0.10.2+5
build_web_compilers ^0.4.0+4
mockito ^3.0.0-alpha
test ^1.3.0