【问题标题】:How to close ngx-bootstrap modal on router.navigate如何在 router.navigate 上关闭 ngx-bootstrap 模式
【发布时间】:2019-04-05 00:14:51
【问题描述】:

我正在使用 ngx-bootstrap 模态服务。 我有一个拦截器,它使用 router.navigate(['/login']) 根据某些条件将用户重定向到登录页面。重定向工作正常,但模式保持打开状态。 我知道我可以实现 OnDestroy 并在那里关闭它,但我不确定在每个显示模式的组件上执行此操作是否是一个好主意,这似乎是重复的。有没有办法在重定向时关闭模态/所有(可能)打开的模态(在拦截器上执行它也感觉我在耦合东西)。 我很抱歉如果我没有以正确的方式提出问题,这是我的第一次。如果您需要更多详细信息,请告诉我。 提前致谢。

【问题讨论】:

    标签: angular typescript ngx-bootstrap


    【解决方案1】:

    你可以监听路由器的变化并在路由变化时关闭模型

    router.events.subscribe((val) => {
        // close the router here
    });
    

    您可以将其添加到主组件中,也可以将其添加到服务中

    【讨论】:

    • 对不起,如果我错过了重点,但不是需要包含在每个组件中吗? “aad it in a service”方法会是什么样子?再次感谢。
    • 您可以将其添加为服务并在启动组件中对其进行初始化。所以它会监听所有的路由器事件,直到你取消订阅。
    猜你喜欢
    • 2018-03-05
    • 2019-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-25
    • 2013-01-04
    • 1970-01-01
    相关资源
    最近更新 更多