转换内部 url 以类似于 routerlink
Convert an internal url to act similar to routerlink
我从我的 api 中得到一个 html,它在我的 angular 模板中呈现。它包含 link 到我应用程序上其他路线的网址。示例:
http://localhost:4200/some/component?query=somethingelse&foo=bar
# or preferably
/some/component?query=somethingelse&foo=bar
如果我点击它,默认情况下它会在路由时重新加载应用程序。
我想要的是像 [routerLink]
那样重定向路由,即不刷新页面。我尝试添加调用 this.route.navigate
的点击方法,但我必须手动解析查询字符串(或使用库)才能使其正常工作。
我希望 angular 有更好的方法。如果没有,也欢迎任何其他解决方案。
删除结尾的反斜杠并像路由器一样使用它 link
路由器链接="some/component?xxxxx"
使用 routerLink 时,您可以使用多种变体,尤其是对于静态 links。
有关详细信息,请参阅 api 文档:
https://angular.io/api/router/RouterLink
特别是在你的情况下这部分:
第一个段名称可以在前面加上 /、./ 或 ../:
如果第一段以/开头,路由会从应用的根目录开始查找路由。
如果第一个段以 ./ 开头,或者不以斜杠开头,则路由器将改为查找当前激活路由的子级。
而如果第一段以../开头,路由器会上一层。
另外不要忘记,如果您是 运行 在本地主机上的开发中,路由将正常工作,但是如果您正在构建应用程序,路由将 return 出错。路由器 link 未满 url links(因此是单页应用程序)您需要在后端映射路由或记得添加 #
RouterLink 将使用这些来生成此 link:/user/bob#education
我从我的 api 中得到一个 html,它在我的 angular 模板中呈现。它包含 link 到我应用程序上其他路线的网址。示例:
http://localhost:4200/some/component?query=somethingelse&foo=bar
# or preferably
/some/component?query=somethingelse&foo=bar
如果我点击它,默认情况下它会在路由时重新加载应用程序。
我想要的是像 [routerLink]
那样重定向路由,即不刷新页面。我尝试添加调用 this.route.navigate
的点击方法,但我必须手动解析查询字符串(或使用库)才能使其正常工作。
我希望 angular 有更好的方法。如果没有,也欢迎任何其他解决方案。
删除结尾的反斜杠并像路由器一样使用它 link 路由器链接="some/component?xxxxx" 使用 routerLink 时,您可以使用多种变体,尤其是对于静态 links。
有关详细信息,请参阅 api 文档:
https://angular.io/api/router/RouterLink
特别是在你的情况下这部分:
第一个段名称可以在前面加上 /、./ 或 ../:
如果第一段以/开头,路由会从应用的根目录开始查找路由。 如果第一个段以 ./ 开头,或者不以斜杠开头,则路由器将改为查找当前激活路由的子级。 而如果第一段以../开头,路由器会上一层。
另外不要忘记,如果您是 运行 在本地主机上的开发中,路由将正常工作,但是如果您正在构建应用程序,路由将 return 出错。路由器 link 未满 url links(因此是单页应用程序)您需要在后端映射路由或记得添加 #
RouterLink 将使用这些来生成此 link:/user/bob#education