Angular 2 - routerLink 不适用于外部链接

Angular 2 - routerLink doesn't work with external links

我正在尝试使用带有外部链接的 routerLink。链接公开在 index.html 上(就像来自外部应用程序的菜单),如下所示:

Index.html

<body>
  <div>
    <ul>
      <li><a onclick="window.changePage('home')" routerLink="/">Home</a>
      </li>
      <li><a onclick="window.changePage('info')" routerLink="/">Info</a>
      </li>
    </ul>
  </div>
  <app-root></app-root>
</body>

当我从这个外部链接访问时,问题似乎是 angular 没有加载 RouterModule。如果我按 this.router.navigate(....) 导航,则效果很好。 我在这里举个例子: plunker

第 1 步:单击“主页”和“转到信息”按钮。可以看到"Go to Info"有一个routerLink,可以点击。 第二步:刷新页面。单击信息,您会看到无法单击 "Go to Info"。 如何强制 angular 加载带有外部链接的 RouterModule?

更新

查看评论和其他答案,以下只是解决方法


@Günter Zöchbauer 已经在评论中提到了解决方案

如下更改您的信息组件

import { Component } from '@angular/core';

@Component({
  /* use href instead of routerlink*/
  template: `Info HTML
            <a href="/home">Go to Home</a>
  `,
})
export class InfoComponent {
  constructor() {
  }
}

最好在您的 .ts 文件中路由它。

在锚标签中,只需调用函数window.changePage('home') 类似地window.changePage('info'),和

在函数内的 .ts 文件中导航它。