Flutter路由框架Fluro怎么用-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)Flutter路由框架Fluro怎么用的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)是一家專業(yè)從事網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)的網(wǎng)絡(luò)公司。作為專業(yè)網(wǎng)絡(luò)公司,創(chuàng)新互聯(lián)依托的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營(yíng)經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、全網(wǎng)整合營(yíng)銷推廣及網(wǎng)站設(shè)計(jì)開發(fā)服務(wù)!

在Flutter應(yīng)用開發(fā)過程中,除了使用Flutter官方提供的路由外,還可以使用一些第三方路由框架來實(shí)現(xiàn)頁面管理和導(dǎo)航,如Fluro、Frouter等。

Fluro作為一款優(yōu)秀的Flutter企業(yè)級(jí)路由框架,F(xiàn)luro的使用比官方提供的路由框架要復(fù)雜一些,但是卻非常適合中大型項(xiàng)目。因?yàn)樗哂袑哟畏置?、條理化、方便擴(kuò)展和便于整體管理路由等優(yōu)點(diǎn)。

使用Fluro之前需要先在pubspec.yaml文件中添加Fluro依賴,如下所示。

dependencies: fluro: "^1.5.1"

如果無法使用上面的方式添加Fluro依賴,還可以使用git的方式添加Fluro依賴,如下所示。

dependencies: fluro:  git: git://github.com/theyakka/fluro.git

成功添加Fluro庫依賴后,就可以使用Fluro進(jìn)行應(yīng)用的路由管理與導(dǎo)航開發(fā)了。為了方便對(duì)路由進(jìn)行統(tǒng)一的管理,首先需要新建一個(gè)路由映射文件,用來對(duì)每個(gè)路由進(jìn)行管理。如下所示,是路由配置文件route_handles.dart的示例代碼。

import 'package:fluro/fluro.dart';import 'package:flutter/material.dart';import 'package:flutter_demo/page_a.dart';import 'package:flutter_demo/page_b.dart';import 'package:flutter_demo/page_empty.dart';//空頁面var emptyHandler = new Handler(  handlerFunc: (BuildContext context, Map<String, List<String>> params) {   return PageEmpty();  });//A頁面var aHandler = new Handler(  handlerFunc: (BuildContext context, Map<String, List<Object>> params) {   return PageA();  });//B頁面var bHandler = new Handler(  handlerFunc: (BuildContext context, Map<String, List<Object>> params) {   return PageB();  });

完成基本的路由配置后,還需要一個(gè)靜態(tài)的路由總體配置文件,方便我們?cè)诼酚身撁嬷惺褂?。如下所示,是路由總體配置文件routes.dart的示例代碼。

import 'package:fluro/fluro.dart';import 'package:flutter_demo/route_handles.dart';class Routes { static String page_a = "/";          //需要注意 static String page_b = "/b"; static void configureRoutes(Router router) {  router.define(page_a, handler: aHandler);  router.define(page_b, handler: bHandler);  router.notFoundHandler =emptyHandler;   //空頁面 }}

在進(jìn)行路由的總體配置時(shí),還需要處理不存在的路徑情況,即使用空頁面或者默認(rèn)頁面進(jìn)行代替。同時(shí),需要注意的是應(yīng)用的首頁一定要用“/”進(jìn)行配置。為了方便使用,還需要把Router進(jìn)行靜態(tài)化,這樣在任何一個(gè)頁面都可以直接調(diào)用它。如下所示,是application.dart文件的示例代碼。

import 'package:fluro/fluro.dart';class Application{ static Router router;}

完成上述操作后,就可以在main.dart文件中引入路由配置文件和靜態(tài)化文件了,如下所示。

import 'package:fluro/fluro.dart';import 'package:flutter_demo/routes.dart';import 'application.dart';void main() { Router router = Router(); Routes.configureRoutes(router); Application.router = router; runApp(MyApp());}class MyApp extends StatelessWidget { @override Widget build(BuildContext context) {  return MaterialApp(   title: 'Demo App',   onGenerateRoute: Application.router.generator,  ); }}

如果要在跳轉(zhuǎn)到某個(gè)頁面,只需要使用Application.router.navigateTo()方法即可,如下所示。

Application.router.navigateTo(context,"/b"); //b為配置路由

可以發(fā)現(xiàn),F(xiàn)luro雖然使用上相比Flutter的Navigator要繁瑣,但是對(duì)于中大型項(xiàng)目卻非常適合,它的分層架構(gòu)也非常方便項(xiàng)目后期的升級(jí)和維護(hù),

感謝各位的閱讀!關(guān)于“Flutter路由框架Fluro怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

當(dāng)前名稱:Flutter路由框架Fluro怎么用-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://bm7419.com/article38/igisp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、響應(yīng)式網(wǎng)站網(wǎng)站建設(shè)、網(wǎng)站制作品牌網(wǎng)站制作、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)