【发布时间】:2017-05-17 18:27:43
【问题描述】:
在我的 Angular 2(最终)应用程序中,我经常需要通过路由名称(如“/products”)创建一个完整的(绝对)Url,例如提供指向特定页面的永久链接或从另一个选项卡/窗口中的组件打开页面。
是否有任何允许通过路由名称获取绝对 URL 的 Angular 2 API?如果不是,是一些已知的解决方法,例如使用javascript?
我尝试过 location 或 PathLocationStrategy(例如 prepareExternalUrl),但该方法返回 '/products' 而不是例如http://localhost/products
【问题讨论】:
-
您是否尝试使用
window.location.host与prepareExternalUrl的返回连接?你为什么需要它?routerLink还不够吗? -
window.location.host 不包含完整的基本 URL,例如对于localhost.8000/virt_sites/virt_dir/test.html,我们期望“localhost.8000/virt_sites/virt_dir”而不是“localhost.8000”。我需要使用例如从组件(而不是视图!)在新窗口中打开一个项目页面window.open(absoluteUrl, '_blank')。 routerLink可以吗?我认为没有。
标签: javascript angular angular2-routing