我正在使用flutter fluro进行路由。我只能传递一个参数,并且可以在页面中访问它。如何发送多个物品?
这是我的使用方式
router.define('/about/:id', handler: new Handler(handlerFunc: (BuildContext context, Map<String, dynamic> params) {
return new AboutPage(params["id"][0]);
}));
我这样称呼
Navigator.pushNamed(context, "/about/23");
现在我要传递多个这样的变量
Navigator.pushNamed(context, "/about/23/newdata");
我试图像这样访问这些新数据
router.define('/about/:id/:str', handler: new Handler(handlerFunc: (BuildContext context, Map<String, dynamic> params) {
return new AboutPage(params["id"][0], params["id"][1]);
}));
它不起作用。它给我这样的错误
Could not find a generator for route RouteSettings("/about/23/newdata", null) in the
颤振:_WidgetsAppState。
答案 0 :(得分:1)
这里有一个访问所有参数的示例:
router.define(
'/testpage/:param1/:param2/:param3',
handler: Handler(
handlerFunc: (BuildContext context, Map<String, dynamic> params) {
print('Navigate to TestPage');
var param1 = params['param1'][0];
var param1 = params['param2'][0];
var param1 = params['param3'][0];
},
),
);
所以对您来说:
router.define('/about/:id/:str', handler: new Handler(handlerFunc: (BuildContext context, Map<String, dynamic> params) {
return new AboutPage(params['id'][0], params['str'][0]);
}));
祝你有美好的一天!