创建带有可选子项的路线

罗纳德·扎里茨(RonaldZarīts)

是否可以使用“终端”路由配置路由children,或者换句话说,使用“可选”路由配置路由children

我正在尝试创建一个可路由的主视图/详细视图,该视图最初不会显示详细信息,并且在打开详细信息视图时不会破坏列表。

例如,导航到/a,然后在不破坏的情况下a导航到/a/1

第一次尝试

const routes: RouterConfig = [
  //...
  { path: 'a', component: AListComponent, children: [
    { path: ':id', component: ADetailsComponent }
  ]},
  //...
];

...使用此配置,将引发以下错误:

EXCEPTION: Error: Uncaught (in promise): Error: Cannot match any routes: 'a'

第二次尝试

const routes: RouterConfig = [
  //...
  { path: 'a', component: AListComponent },
  { path: 'a', component: AListComponent, children: [
    { path: ':id', component: ADetailsComponent }
  ]},
  //...
];

...列表组件被销毁并重新创建,即,如果它具有用户输入,则值将消失。

第三次尝试-创建一个“空”组件并默认加载它。

const routes: RouterConfig = [
  //...
  { path: 'a', component: AListComponent, children: [
    { path: '', component: EmptyComponent },
    { path: ':id', component: ADetailsComponent }
  ]},
  //...
];

...有效,但感觉像是一种解决方法。

有没有更好的办法?

贡特·佐赫鲍尔(GünterZöchbauer)

我认为空的虚拟组件不显示您的第三次尝试中显示的任何东西是最好的方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Suave中带有可选参数的路线

来自分类Dev

从json结构创建带有子项的列表

来自分类Dev

如何创建带有可选参数的过程?

来自分类Dev

LARAVEL如何创建带有无限参数的路线?

来自分类Dev

如何创建带有验证性文件的可选日期

来自分类Dev

如何创建带有可选参数的批处理文件

来自分类Dev

如何在JavaScript中创建带有子项且没有重复值的对象数组

来自分类Dev

具有几个可选参数的路线

来自分类Dev

在余烬路线中具有可选的前缀

来自分类Dev

在左侧带有可选的Pyparsing

来自分类Dev

带有休眠的可选ManyToOne

来自分类Dev

带有休眠的可选ManyToOne

来自分类Dev

带有可选部分的DateTimeFormater

来自分类Dev

在左侧带有可选的Pyparsing

来自分类Dev

带有可选承诺的 PromiseKit

来自分类Dev

带有可选参数的 RewriteRule

来自分类Dev

仅使用xslt从xml中选择带有子项的子项

来自分类Dev

带有菜单控制子项的 tfs 扩展 - 子项未显示

来自分类Dev

在使用可选参数创建路线时出现问题

来自分类Dev

带有子项的ListView。Android示例

来自分类Dev

带有浮动右断开子项的div

来自分类Dev

带有浮动右断开子项的div

来自分类Dev

动态菜单:带有子项的ID项

来自分类Dev

Javascript 选择带有 Id 格式的子项

来自分类Dev

如何创建带有扫描页面但可选文本的PDF?

来自分类Dev

具有多个可选参数的Rails 3路线

来自分类Dev

无法创建在Rails中具有带有前导点的线段的路线(以验证“让我们加密”)

来自分类Dev

Laravel 5.1带有问号的路线

来自分类Dev

Rails路线:带有变量的命名空间