Angular router navigate with outlets not routing

Angular router navigate with outlets not routing

我正在使用 Angular 6. 我有 2 个路由器插座,一个是主插座,一个是命名插座。 对于到路线的导航,我需要从组件而不是模板导航。如果我忽略 outlets can call with a typical router.navigate 主加载没有问题:

this.router.navigate(['sp/auth', { "myid": obj.code }]);

但是如果我尝试定义出口,我只会被重定向到一个不匹配的路由。

this.router.navigate([{
            outlets: {
                primary: ['sp/auth', obj.code ]
            }
        }]); 

最终,我会将第二个命名插座添加到此调用中,但我无法使其仅与主要插座一起运行。我曾尝试使用 /(aboslute)作为前缀,但在查看路由器跟踪时,这只会得到 url 编码。

这是路线

{path: 'sp/auth/:spID', component:SpAuthComponent},

这些出口适用于使用 routerLink 的其他页面。只是在组件中使用router.navigate时找不到路由。我一定是遗漏了什么。

在@maxime1992 之后,我添加了绝对前缀,但它仍然不起作用。我需要做的是替换路由中的斜杠(在路由跟踪器中,它们是 uri 编码的,这看起来很奇怪)。
因此,如果我添加斜杠前缀并将路由名称从 sp/auth 更改为 spauth 它工作正常,同时从辅助视图路由中删除任何斜杠。