如何在 Angular 5 中路由到外部链接

问题描述 投票:0回答:4

这可能是一个愚蠢的问题,但我是 Angular 的新手,还没有得到答案。

我正在遵循教程,并为我的 Angular 5 项目设置这样的路线:

import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';

import { PageComponent } from './page/page.component';

const appRoutes: Routes = [
  {path: '', redirectTo: '/home', pathMatch: 'full'},
  {path: 'home', component: PageComponent, data: {
    page: 'home'
  }},
  {path: 'about', component: PageComponent, data: {
    page: 'about'
  }},
  {path: 'contact', component: PageComponent, data: {
    page: 'contact'
  }},
  {path: 'facebook', component: PageComponent, data: {
    page: 'facebook'
  }},
  {path: '**', redirectTo: '/home', pathMatch: 'full'}
];

@NgModule({
  imports: [RouterModule.forRoot(appRoutes)],
  exports: [RouterModule]
})
export class AppRoutingModule {
}

假设我想将“facebook”路径路由到我的 Facebook 页面。 我不知道如何路由到 Angular 应用程序之外的页面。

如有任何帮助,我们将不胜感激!

angular angular5
4个回答
21
投票

@Rafael 已留下正确答案作为评论。

您只需创建一个指向 facebook 的链接标签即可

<a href="www.facebook.com/yourpage">Facebook</a>

您设置的路由都是本地路径。 换句话说,所有这些路由都是针对 www.yoursite.com/route1 上显示的内容,以及 www.yoursite.com/route2 上显示的内容。

但请注意,它们的域名都是 yoursite.com。

如果您想创建指向域外站点的链接,那么您不想弄乱角度路由,而是创建一个链接。

所以你真正要问的是如何在 www.yourpage.com/facebook 上显示 www.facebook.com 的页面,这是不可能的。

如果没有 iframe,即使有路线,您也无法在自己的网站中显示不同的网站。

如果这确实是您想要做的,那么您可能需要研究 iframe。


10
投票

只需使用常规锚点 href。

<a href="http://facebook.com">Add Vehicle</a>

或者对于 JavaScript:

window.location.href = 'http://facebook.com';

1
投票

对于任何正在寻找如何实施解决方案的人 上面提到的使用 TypeScript 的解决方案是下面的示例

const link = document.createElement('a');
link.href = 'http://facebook.com/'
link.target = '_blank';
link.click()

如果您发现如何从外部链接下载,只需添加

link.download = 'download';

0
投票

我可能有点晚了,但我的回答可以帮助任何有同样问题的人。

只需在网址开头添加“https://”就可以了。

示例:

<a href="https://www.external_website.com" target="_blank"> Website </a>
© www.soinside.com 2019 - 2024. All rights reserved.