Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振web url导航_Flutter_Dart_Flutter Web - Fatal编程技术网

Flutter 颤振web url导航

Flutter 颤振web url导航,flutter,dart,flutter-web,Flutter,Dart,Flutter Web,我想知道如何在我的Flitter web应用程序中导航到URL 目前我正在使用Navigator.of(context.push)(MaterialPageRoute(…)而我只在地址栏中获得localhost:5354/#/ 此外,我还想知道如何通过将URL粘贴到浏览器的地址栏中直接导航到特定URL。您需要使用命名路由,而不是直接使用类来路由。 您可以使用名为fluro的包 或者,您可以使用颤振提供的默认导航 用fluro你可以做这样的事情 主飞镖 import '../routes/rout

我想知道如何在我的Flitter web应用程序中导航到URL

目前我正在使用
Navigator.of(context.push)(MaterialPageRoute(…)
而我只在地址栏中获得
localhost:5354/#/


此外,我还想知道如何通过将URL粘贴到浏览器的地址栏中直接导航到特定URL。

您需要使用命名路由,而不是直接使用类来路由。 您可以使用名为fluro的包 或者,您可以使用颤振提供的默认导航

用fluro你可以做这样的事情

主飞镖

import '../routes/routes.dart';


void main() {
  FluroRouter.setupRouter();
// run app
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      initialRoute: '/',
      onGenerateRoute: FluroRouter.router.generator,
    );
  }
}

飞镖

import 'package:fluro/fluro.dart';
import 'package:flutter/material.dart';

class FluroRouter {
  static Router router = Router();
  static Handler _storyhandler = Handler(
      handlerFunc: (BuildContext context, Map<String, dynamic> params) =>
          HomeView(id: params['id'][0]));
  static Handler _homehandler = Handler(
      handlerFunc: (BuildContext context, Map<String, dynamic> params) =>
          Home());
  static void setupRouter() {
    router.define(
      '/',
      handler: _homehandler,
    );
    router.define(
      '/story/:id',
      handler: _storyhandler,
    );
  }
}

import'包:fluro/fluro.dart';
进口“包装:颤振/材料.省道”;
类FluroRouter{
静态路由器=路由器();
静态处理程序_storyhandler=处理程序(
handlerFunc:(BuildContext上下文,映射参数)=>
HomeView(id:params['id'][0]);
静态处理程序_homehandler=处理程序(
handlerFunc:(BuildContext上下文,映射参数)=>
Home());
静态无效设置路由器(){
路由器定义(
'/',
处理程序:_homehandler,
);
路由器定义(
“/story/:id”,
处理器:_storyhandler,
);
}
}
还可以使用查询参数定义管线


希望这有帮助

我想你正在寻找url_启动器。在我测试了这两种方法后,我只成功地使用了Fluro(即使官方软件包页面没有提到web兼容性)。奇怪的是,我在使用名为“web上的路线导航”的默认颤振时遇到了一个意外错误_(ツ)_/¯