我必须使用深层链接。告诉我该怎么办?
app-routing.module.ts
const routes: Routes = [ { path: 'hi',
redirectTo: '/http://www.sunbeaminfo.com/',
pathMatch: 'full'
}];
app.component.html
<a href="/hi" routerLinkActive="active">demo</a>
<router-outlet></router-outlet>
答案 0 :(得分:0)
使用Angular Router
链接到外部网站是一个好主意,因为您可以调用不同的routing guard
。
话虽如此,路由到外部网站的最简单方法是使用Resolve
防护。
在您的路线中,定义如下路线:
{
path: 'myExternalLink/:url',
resolve: { url: ExternalUrlNavigator },
component: EmptyComponent // Just need a component. I don't know if redirect would work here
}
在您Resolver
的{{1}}部分中声明您的全新providers
,如下所示:
AppModule
然后创建新的...,
providers: [
ExternalUrlNavigator
]
Resolver
要使用它,您可以将其作为@Injectable()
export class ExternalUrlNavigator implements Resolve<void> {
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): void {
const url = route.params['url'];
window.open(url, '_self');
}
}
,{url:''}]))的参数作为router
的参数;`
直接在模板中
this.router.navigate(['/myExternalLink
。
瞧瞧!
有关更多信息