本文阐述一些Fluro使用小细节
在Fluro中,我们需要对每个页面分别定义一个handler
var buyPageHandler = Handler(
handlerFunc: (BuildContext context, Map<String, dynamic> params) {
var data = params['id'][0];
return BuyPage(data);
});
那么我们跳转的时候就需要传一个参数进来
MyAppRouter.router.navigateTo(context, '/users/1234?id=$a',
transition: TransitionType.fadeIn),
为什么用'id'这个key?
使用id或者任何其他合理的字符串都可以,只要方便书写和管理。
全部的页面都可以使用相同的key。
为什么用[0]?
[0]表示数组的第一个元素。params其实是一个List<String>格式的数组
,而且长度只有1。
我们可以改造一下handler的定义
var buyPageHandler = Handler(
handlerFunc: (BuildContext context, Map<String, List<String>> params) {
var data = params['id'].first;
return BuyPage(data);
});
为什么是'/users/1234?id=$a'
这是固定格式
'路由name?key=value'
网友评论