我正在使用带参数的子路由配置(AngularDart,包angular_router:^ 1.0.2),并发生以下错误:
EXCEPTION:无效的参数:路由生成器" chave"不是 包含在传递的参数中。
我做错了什么?
@RouteConfig
定义是:
在Root中
@RouteConfig(const [
const Redirect(path: '/', redirectTo: const ['Painel']),
const Route(path: '/painel', name: 'Painel', component: PainelComponent, useAsDefault: true),
const Route(path: '/empresas/...', name: 'Empresas', component: EmpresasComponent),
const Route(path: '/iniciativas', name: 'Iniciativas', component: IniciativasComponent),
])
在父级EmpresasComponent
中(将参数传递给子级EmpresaDetalheComponent
)
@RouteConfig(const [
const Route(path: '/empresa/:chave', name: 'EmpresaDetalhe', component: EmpresaDetalheComponent,
useAsDefault: true),
])
从Root basead配置定义调用Parent时会出现问题,即使没有调用具有该参数的子进程也是如此。
详情:
导航应该像这样工作: Root>>>父>>>孩子(有参数)=确定
但是这里的param是requerid: Root>>> Parent = Error,即使没有参数传递给父级,也只有子级需要
我做错了什么?
答案 0 :(得分:2)
我找到了这个问题的原因。
实际上,如果useAsDefault: true
位于带参数(p.e./:param)的路由网址中,则会出现此问题。
解决方法是将另一个路径网址不含参数定义为useAsDefault: true