我遇到了问题,我无法导航到新路线,同时清除插座/辅助路线。
单独调用这两个操作有效 - 但感觉就像一个解决方法。是否有充分理由将它们作为两个电话完成?或者我的实施中是否有错误?或者我应该将其作为GitHub问题提交?
这些独立工作:
select no,
(select character
from t
where t.no = n.no
for xml path ('')
) as output
from (select distinct no from t) n;
我认为这应该有用,但它并没有清除出口:
// Navigate to `/second`
this._router.navigate(['/second']);
// Clears the `popup` outlet
this._router.navigate(['', {outlets: { popup: null }}]);
我目前的解决方法是:
this._router.navigate(['/second', {outlets: { popup: null }}]);
我已创建plnkr proof of concept - 导航代码位于this._router.navigate(['', {outlets: { popup: null }}]).then(() => { this._router.navigate(['second']); } );
答案 0 :(得分:6)
您需要明确设置主要出口路径,如下所示
["some command; `other command (different command) $(some command)`",
"`other command (different command) $(some command)",
"different command", "some command"]
更新了您的Plunker!!
希望这会有所帮助!!
答案 1 :(得分:0)
当主要导航在主要路线上是绝对的时,以上方法适用。 我遇到的问题是:如何在清除次要路线的同时在主要路线上进行相对导航。
我尝试了不同的组合,但似乎都不起作用:
开始于
HR.EMP_JOB_FK
https://localhost:4200/one/two(popup:some/other)
结束于 this.router.navigate([
'',
{
outlets: {
primary: ['areaTwo', 'second'],
popup: null,
},
},
]);
因此它将清除辅助弹出窗口,并进行绝对导航。
开始于
https://localhost:4200/areaTwo/second
https://localhost:4200/one/two(popup:some/other)
以 this.router.navigate([
{
outlets: {
primary: ['areaTwo', 'second'],
popup: null,
},
},
], { relativeTo: this.activatedRoute });
因此它在主数据库上有一个亲戚,但没有清除辅助数据库。
但是我们该怎么做:
开始于
https://localhost:4200/one/two/areaTwo/second(popup:some/other)
以https://localhost:4200/one/two(popup:some/other)