routeInformationUpdated static method
- @Deprecated('Pass Uri.parse(location) to uri parameter instead. ' 'This feature was deprecated after v3.8.0-3.0.pre.') String? location,
- Uri? uri,
- Object? state,
- bool replace = false,
Notifies the platform for a route information change.
On web, this method behaves differently based on the single-entry or multiple-entries history mode. Use the selectSingleEntryHistory and selectMultiEntryHistory to toggle between modes.
For single-entry mode, this method replaces the current URL and state in
the current history entry. The flag replace
is ignored.
For multiple-entries mode, this method creates a new history entry on top
of the current entry if the replace
is false, thus the user will
be on a new history entry as if the user has visited a new page, and the
browser back button brings the user back to the previous entry. If
replace
is true, this method only updates the URL and the state in the
current history entry without pushing a new one.
This method is ignored on other platforms.
The replace
flag defaults to false.
Implementation
static Future<void> routeInformationUpdated({
@Deprecated(
'Pass Uri.parse(location) to uri parameter instead. '
'This feature was deprecated after v3.8.0-3.0.pre.'
)
String? location,
Uri? uri,
Object? state,
bool replace = false,
}) {
assert((location != null) != (uri != null), 'One of uri or location must be provided, but not both.');
uri ??= Uri.parse(location!);
return SystemChannels.navigation.invokeMethod<void>(
'routeInformationUpdated',
<String, dynamic>{
'uri': uri.toString(),
'state': state,
'replace': replace,
},
);
}