这可能是一个愚蠢的问题,但我是 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 应用程序之外的页面。
如有任何帮助,我们将不胜感激!
@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。
只需使用常规锚点 href。
<a href="http://facebook.com">Add Vehicle</a>
或者对于 JavaScript:
window.location.href = 'http://facebook.com';
对于任何正在寻找如何实施解决方案的人 上面提到的使用 TypeScript 的解决方案是下面的示例
const link = document.createElement('a');
link.href = 'http://facebook.com/'
link.target = '_blank';
link.click()
如果您发现如何从外部链接下载,只需添加
link.download = 'download';
我可能有点晚了,但我的回答可以帮助任何有同样问题的人。
只需在网址开头添加“https://”就可以了。
示例:
<a href="https://www.external_website.com" target="_blank"> Website </a>