Angular 4 是否允许路由到同一域中的外部路由?

Does Angular 4 allow rout to external routes in same domain?

单个域下有两个不同的angular应用程序app-1app-2 mydomain.com

像这样:

这两个应用程序相互之间一无所知

问题是想要使用 routerLink 从 app-1 导航到 app-2

<a [routerLink]="['app-2']" > move <a/>

Angular 4 是否允许路由到同一域中的外部路由?

用 routerLink 好像做不到。 RouterLink 指令使用路由器描述来完成他的工作,因此它不会让您转到另一个应用程序。即使您尝试像这样按 "url" 导航:

this.router.navigateByUrl('mydomain.com/app-2');

它将根据路由器描述验证 url 并告诉您它不匹配(错误:无法匹配任何路由。URL 段)。

这里认为,您需要使用标准javascript导航来更改网站。

像这样:

<a href="http://domain2.com/app2/home"></a>

如果您有很多 url 移动到您的网站,您也可以将它与 angular 管道混合使用。我们可以想象这样的事情:

<a [href]=" '/home' | toApp2Url"> hey</a>

使用 纯管道 像这样:

@Pipe({name: 'toApp2Url', pure: true})
export class ToApp2Url implements PipeTransform {
  transform(value: string): string {
    return 'http://domain2.com/app2' + value;
  }
}