如何更改 Flutter web 中的 url?

问题描述 投票:0回答:5

我需要更改此网页的内容

enter image description here

对于此内容 enter image description here

还将网址从“localhost:49318/#/home/inicio”更改为“localhost:49318/#/home/other”。

所有这一切都无需使用导航器。

在移动应用程序中,我会更改以设置状态显示的小部件,但在网页上执行此操作不会更改 url。

flutter dart flutter-web
5个回答
22
投票

我使用 Fluro(一个包)来控制我的路由,但最终我需要更改 URL 而无需重定向。

解决方案非常简单

导入此:

import 'dart:html' as html;

然后在您的代码中,使用它来更改 URL,而不影响当前页面

html.window.history.pushState(null, 'home', '#/home/other');

0
投票

浏览器中的网址不会更改,除非您将其导航到特定的网址。
是的,

setState((){})
可以在移动设备上工作(这里也一样),但它会将小部件更改/替换为新小部件,而不会导航到您的目标。


0
投票

如果您使用 Flutter Navigator 2.0,您可以使用

RouteNavigationParser
来为您处理 URL 解析。


0
投票

如果你想将 url 更改为 html 页面,你可以使用:

导入

import 'dart:html' as html;
// or even better: import 'package:universal_html/html.dart' as html;
final myPath = 'payment.html';
html.window.location.href = myPath;

(考虑您的文件位于 web/ payment.html)


0
投票

怎么样:

 SystemNavigator.routeInformationUpdated(
      uri: "url",
    );
© www.soinside.com 2019 - 2024. All rights reserved.