我需要更改此网页的内容
还将网址从“localhost:49318/#/home/inicio”更改为“localhost:49318/#/home/other”。
所有这一切都无需使用导航器。
在移动应用程序中,我会更改以设置状态显示的小部件,但在网页上执行此操作不会更改 url。
我使用 Fluro(一个包)来控制我的路由,但最终我需要更改 URL 而无需重定向。
解决方案非常简单
导入此:
import 'dart:html' as html;
然后在您的代码中,使用它来更改 URL,而不影响当前页面
html.window.history.pushState(null, 'home', '#/home/other');
浏览器中的网址不会更改,除非您将其导航到特定的网址。
是的,
setState((){})
可以在移动设备上工作(这里也一样),但它会将小部件更改/替换为新小部件,而不会导航到您的目标。
如果您使用 Flutter Navigator 2.0,您可以使用
RouteNavigationParser
来为您处理 URL 解析。
如果你想将 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)
怎么样:
SystemNavigator.routeInformationUpdated(
uri: "url",
);