RouteLayoutChild mixin

Mixin for routes that belong to a parent layout.

Routes with this mixin can specify a parentLayoutKey to indicate which RouteLayoutParent should contain them. This creates a parent-child relationship between routes, enabling nested navigation stacks.

Role in Navigation Flow

  1. When navigating to a route, CoordinatorCore checks parentLayoutKey
  2. It resolves or creates the parent layout via resolveParentLayout
  3. The route is pushed onto the StackPath provided by that layout
  4. When the route pops, the layout's stack is reset via RouteLayoutParent.onDidPop

This mixin is automatically included in RouteUri, so most routes inherently support parent layouts without explicitly mixing this in.

Superclass constraints
Mixin applications

Properties

hashCode int
The hash code for this object.
no setterinherited
internalProps List<Object?>
Framework-managed properties for internal identity.
no setterinherited
isPopByPath bool
Whether the pop was initiated by the path mechanism.
getter/setter pairinherited
onResult Completer<Object?>
no setterinherited
parentLayoutKey Object?
no setter
props List<Object?>
Properties used for equality comparison.
no setterinherited
resultValue Object?
The result value passed when this route was popped.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
stackPath StackPath<RouteTarget>?
The StackPath that contains this route.
no setterinherited

Methods

bindResultValue(Object? value) → void
inherited
bindStackPath(StackPath<RouteTarget> path) → void
Binds the route to a path.
inherited
clearStackPath() → void
Clears the path binding.
inherited
compareWith(Object other) bool
Compares this object with another for equality.
inherited
completeOnResult(Object? result, covariant CoordinatorCore<RouteUri>? coordinator, [bool failSilent = false]) → void
Completes the route's result future.
inherited
createParentLayout(covariant CoordinatorCore<RouteUri> coordinator) RouteLayoutParent<RouteTarget>?
Creates a new RouteLayoutParent instance for this route.
deepEquals(RouteTarget other) bool
Checks deep equality with another route.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onDidPop(Object? result, covariant CoordinatorCore<RouteUri>? coordinator) → void
Called when the route is popped from the navigation stack.
inherited
onDiscard() → void
Called when the route is discarded without being displayed.
inherited
onUpdate(covariant RouteTarget newRoute) → void
Called when this route is updated with state from a new route instance.
inherited
resolveParentLayout(covariant CoordinatorCore<RouteUri> coordinator) RouteLayoutParent<RouteTarget>?
Resolves the active or creates a new RouteLayoutParent for this route.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

proxy(RouteLayoutChild host) → _ProxyRouteLayoutChild