Angular 导航到次要路线,同时保留主要路线

标签 angular angular-routing angular-router

我想在不明确说明主要路线的情况下导航到名为模态的次要路线。

我已经在组件类中试过了:

onclick(){
    this.router.navigate([{ outlets: { foo: 'modal' } }], { relativeTo: this.route });
}

上面的代码似乎可以工作。但是,它会导航到 /first(foo:modal) 一瞬间,然后导航到根目录 /

我做错了什么?

做这样的事情会很好:

<a href="#" routerLink="/*(foo:modal)">Open Modal</a>

这样它就可以匹配任何主要路由....这可能吗?

最佳答案

您可以通过指定导出{ oulletName: url} 来仅设置次要网段

<a [routerLink]="[{outlets: { modal: 'edit/20']}}]">Edit</a>   
router.navigate([{outlets: { modal: 'edit/20'}}]);

或多个段:

<a [routerLink]="[{outlets: {primary: 'products', modal: 'edit/20']}}]">Edit</a> 
router.navigate([{outlets: {primary: 'products', modal: 'edit/20'}}]);

关于Angular 导航到次要路线,同时保留主要路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45395788/

相关文章:

javascript - 构造函数内声明和构造函数外部声明的区别

regex - 在 VS Code 中搜索所有*不*包含字符串的文件

javascript - Angular 4 Linkedin 关注按钮不显示

angular - 从另一个组件控制 Angular Material 垫抽屉

javascript - 使用参数缓存 URL View /状态

Angular 6+ Universal 仅预加载特定路由

Angular:在每次导航中调用 ngOnInit()

angular - 在 CanActivate guard 中获取目标路由 URL Lazy load modules Angular

Angular 5浏览动画但有条件

javascript - Angular 路由未正确映射以进行延迟加载