【问题标题】:Angular 5 how to remove auxilary route outlet name in URL but the outlet should loadAngular 5 如何删除 URL 中的辅助路由器插座名称,但插座应加载
【发布时间】:2019-03-25 03:35:11
【问题描述】:

我有顶部导航菜单和侧边栏菜单。在顶部导航菜单项中,例如 admin、user..etc。当我们点击管理链接时,侧边栏菜单应该列出管理相关菜单,如设置、用户管理等。

这是使用辅助路由 outlet 实现的,现在我的问题是我想删除带有 outlet EX : /admin/(user/list//sidemenu:sidemenu) 的 URL 参数。我的出口名称是侧面菜单。我想要像/admin/user/list 这样的URL,它也应该在侧边栏菜单中加载插座。

如何做到这一点?请任何人帮助我。

【问题讨论】:

    标签: angular menu routes router-outlet


    【解决方案1】:

    通过模板清除我们的二级路由:-

    <a [routerLink]="[{outlets: {sidemenu: null}}]">X</a>
    

    或者通过组件在模板中将导航方法设置为与上面相同

    this.route.navigate([{outlets: {sidemenu: null}}]);
    

    或者你可以简单地使用 navigateByUrl 之类的

    this.route.navigateByUrl('/someRoute');
    

    【讨论】:

    • 这似乎在辅助插座的组件中不起作用......所以模式弹出窗口无法自行关闭......有人有解决方案吗?
    • @Spock 您应该将关闭按钮单击事件分配给调用第二个代码 sn-p 中的语句的方法。一旦执行此操作,路由器出口将被清空,使模态弹出 HTML 从 DOM 和屏幕上消失。
    猜你喜欢
    • 2017-02-15
    • 1970-01-01
    • 2018-09-27
    • 2018-07-28
    • 2020-07-24
    • 1970-01-01
    • 2020-01-13
    • 1970-01-01
    • 2018-09-23
    相关资源
    最近更新 更多