LocalHistoryRoute<T> mixin

A mixin used by routes to handle back navigations internally by popping a list.

When a Navigator is instructed to pop, the current route is given an opportunity to handle the pop internally. A LocalHistoryRoute handles the pop internally if its list of local history entries is non-empty. Rather than being removed as the current route, the most recent LocalHistoryEntry is removed from the list and its LocalHistoryEntry.onRemove is called.

Superclass Constraints
Implemented by




willHandlePopInternally bool
Whether calling didPop would return false.
read-only, override
currentResult → T
When this route is popped (see Navigator.pop) if the result isn't specified or if it's null, this value will be used instead.
read-only, inherited
hashCode int
The hash code for this object. [...]
read-only, inherited
isActive bool
Whether this route is on the navigator. [...]
read-only, inherited
isCurrent bool
Whether this route is the top-most route on the navigator. [...]
read-only, inherited
isFirst bool
Whether this route is the bottom-most route on the navigator. [...]
read-only, inherited
The navigator that the route is in, if any.
read-only, inherited
overlayEntries List<OverlayEntry>
The overlay entries for this route.
read-only, inherited
popped Future<T>
A future that completes when this route is popped off the navigator. [...]
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
settings RouteSettings
The settings for this route. [...]
final, inherited


addLocalHistoryEntry(LocalHistoryEntry entry) → void
Adds a local history entry to this route. [...]
didPop(T result) bool
A request was made to pop this route. If the route can handle it internally (e.g. because it has its own stack of internal state) then return false, otherwise return true (by return the value of calling super.didPop). Returning false will prevent the default behavior of NavigatorState.pop. [...]
removeLocalHistoryEntry(LocalHistoryEntry entry) → void
Remove a local history entry from this route. [...]
willPop() Future<RoutePopDisposition>
Returns whether this route wants to veto a Navigator.pop. This method is called by Navigator.maybePop. [...]
changedExternalState() → void
Called whenever the Navigator has its widget rebuilt, to indicate that the route may wish to rebuild as well. [...]
@mustCallSuper, @protected, inherited
changedInternalState() → void
Called whenever the internal state of the route has changed. [...]
@mustCallSuper, @protected, inherited
didChangeNext(Route nextRoute) → void
This route's next route has changed to the given new route. This is called on a route whenever the next route changes for any reason, so long as it is in the history, including when a route is first added to a Navigator (e.g. by Navigator.push), except for cases when didPopNext would be called. nextRoute will be null if there's no next route.
@mustCallSuper, @protected, inherited
didChangePrevious(Route previousRoute) → void
This route's previous route has changed to the given new route. This is called on a route whenever the previous route changes for any reason, so long as it is in the history. previousRoute will be null if there's no previous route.
@mustCallSuper, @protected, inherited
didComplete(T result) → void
The route was popped or is otherwise being removed somewhat gracefully. [...]
@mustCallSuper, @protected, inherited
didPopNext(Route nextRoute) → void
The given route, which was above this one, has been popped off the navigator.
@mustCallSuper, @protected, inherited
didPush() TickerFuture
Called after install when the route is pushed onto the navigator. [...]
@mustCallSuper, @protected, inherited
didReplace(Route oldRoute) → void
Called after install when the route replaced another in the navigator. [...]
@mustCallSuper, @protected, inherited
dispose() → void
The route should remove its overlays and free any other resources. [...]
@mustCallSuper, @protected, inherited
install(OverlayEntry insertionPoint) → void
Called when the route is inserted into the navigator. [...]
@mustCallSuper, @protected, inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
toString() String
Returns a string representation of this object.


operator ==(dynamic other) bool
The equality operator. [...]