Rotas dinâmicas - AlvaroVasconcelos/modular GitHub Wiki
Você pode usar o sistema de rotas dinâmicas para passar um valor por parâmetro e o receber em sua view.
//use (:nome_do_parametro) para usar rotas dinâmicas;
//use o objeto args que é um (ModularArguments) para receber o valor
@override
List<Router> get routers => [
Router("/product/:id", child: (_, args) => Product(id: args.params['id'])),
];
Uma rota dinâmica é considerada válida quando o valor correspontente ao parâmentro é preenchido. A partir disto você pode usar:
Navigator.pushNamed(context, '/product/1'); //args.params['id']) será 1
//or
Modular.to.pushNamed('/product/1'); //args.params['id']) será 1
Você também pode passar um objeto usando a propriedade "arguments" na navegação:
Navigator.pushNamed(context, '/product', arguments: ProductModel()); //args.data
//or
Modular.to.pushNamed('/product', arguments: ProductModel()); //args.data
recebendo na rota
@override
List<Router> get routers => [
Router("/product", child: (_, args) => Product(model: args.data)),
];