v2.0.1
nuvigator
Flutter 导航器的强大路由抽象,提供了一些新功能,并且可以轻松定义路由器。
50喜欢 1.9万近 30 天下载140Pub 分数
AndroidiOSWebmacOSWindowsLinux
Flutter Navigator 的强大路由抽象,支持嵌套的 Navigator 和深度链接
^2.0.2{"sdk":"flutter"}^0.4.0^4.0.0^2.0.1{"sdk":"flutter"}^5.0.8以下为英文项目原文快照,最新内容请访问 GitHub。
Routing and Navigation package.
Não fala bem inglês? Leia o README_PT
Nuvigator provides a powerful routing abstraction over Flutter's own Navigators. Model complex navigation flows using a mostly declarative and concise approach, without needing to worry about several tricky behaviors that Nuvigator handles for you.
Nuvigator can help you with:
Focus on providing a more flexible, easier and dynamic API for declaring Navigation and Routing
The simplest you can get:
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Nuvigator App',
builder: Nuvigator.routes(
initialRoute: 'home',
screenType: materialScreenType,
routes: [
NuRouteBuilder(path: 'home', builder: (_, __, ___) => HomeScreen()),
NuRouteBuilder(path: 'second', builder: (_, __, ___) => SecondScreen()),
],
),
);
}
}
A more complete example:
import 'package:nuvigator/next.dart'; // import the next file instead of `nuvigator.dart`
import 'package:flutter/material.dart';
// Define a new NuRoute
class MyRoute extends NuRoute {
@override
String get path => 'my-route';
@override
ScreenType get screenType => materialScreenType;
@override
Widget build(BuildContext context, NuRouteSettings settings) {
return MyScreen(
onClick: () => nuvigator.open('next-route'),
);
}
}
// Define your NuRouter
class MyRouter extends NuRouter {
@override
String get initialRoute => 'my-route';
@override
List<NuRoute> get registerRoutes => [
MyRoute(),
];
}
// Render
Widget build(BuildContext context) {
return Nuvigator(
router: MyRouter(),
);
}