将内部URL转换为类似RouterLink的行动



我从我的API中获得了一个html,该html被呈现在我的角模板内。它包含链接到我应用程序上其他路由的URL。示例:

http://localhost:4200/some/component?query=somethingelse&foo=bar
# or preferably
/some/component?query=somethingelse&foo=bar

如果我单击它,默认情况下它会在路由时重新加载应用程序。

我想要的是像[routerLink]一样重定向路由,即不刷新页面。我尝试添加调用this.route.navigate的点击方法,但我必须手动解析Querysstrings(或使用库(以使其正常工作。

我希望Angular是否有更好的方法。如果没有,也要对其他解决方案表示赞赏。

删除后面的后斜切,然后像路由器链接一样使用它 routerlink ="一些/组件?xxxxx"使用RouterLink时,您可以使用多个变体,尤其是用于静态链接。

请参阅API文档以获取更多信息:

https://angular.io/api/router/routerlink

特别是在您的情况下,此部分:

可以使用/,./或../../:

将第一个段名称备份

如果第一段以/开头,则路由器将从应用程序的根部查找路由。如果第一部分以./开头或不以斜线开头,则路由器将看一下当前激活路线的孩子。如果第一部分以../开头,则路由器将上升一个级别。

也不要忘记,如果您在Local -Host上的DEV中运行此路线,则路由会正常工作,但是,如果您要构建应用程序,则路由将返回错误。路由器链接不是完整的URL链接(因此单页应用程序(您要么需要映射后端上的路由,要么记住添加#

RouterLink将使用这些来生成此链接:/user/bob#guady

最新更新