VWidgetGuard class

VGuard is a VRouteElement which is used to control navigation changes

Use beforeLeave or beforeUpdate to get navigation changes before they take place. These methods will give you a VRedirector that you can use to:

Use afterEnter or afterUpdate to get notification changes after they happened. At this point you can use VRouter.of(context) to get any information about the new route

See also VGuard for a VRouteElement which control navigation changes

Inheritance

Constructors

VWidgetGuard({Key? key, void afterEnter(BuildContext context, String? from, String to) = VoidVGuard.voidAfterEnter, void afterUpdate(BuildContext context, String? from, String to) = VoidVGuard.voidAfterUpdate, Future<void> beforeUpdate(VRedirector vRedirector) = VoidVGuard.voidBeforeUpdate, Future<void> beforeLeave(VRedirector? vRedirector, void saveHistoryState(Map<String, String> state)) = VoidVGuard.voidBeforeLeave, Future<void> onPop(VRedirector vRedirector) = VoidVPopHandler.voidOnPop, Future<void> onSystemPop(VRedirector vRedirector) = VoidVPopHandler.voidOnSystemPop, required Widget child})
const

Properties

afterEnter → void Function(BuildContext context, String? from, String to)
Called when the url changes and this VWidgetGuard was NOT part of the previous route.
final
afterUpdate → void Function(BuildContext context, String? from, String to)
Called when the url changes and this VWidgetGuard was already part of the previous route.
final
beforeLeave Future<void> Function(VRedirector? vRedirector, void saveHistoryState(Map<String, String> state))
Called when the route changes and the VRouteElement associated to this VWidgetGuard is in the previous route but not in the new one
final
beforeUpdate Future<void> Function(VRedirector vRedirector)
This is called before the url is updated, if this VRouteElement is in the previous route AND in the new route
final
child Widget
The child of this widget
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
onPop Future<void> Function(VRedirector vRedirector)
Called when a pop event occurs. A pop event can be called programmatically (with VRouter.of(context).pop()) or by other widgets such as the appBar back button
final
onSystemPop Future<void> Function(VRedirector vRedirector)
Called when a system pop event occurs. This happens on android when the system back button is pressed
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → _VWidgetGuardState
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

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