3

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

索引.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>

当我从这个外部链接访问时,问题似乎没有加载 RouterModule。如果我通过 this.router.navigate(....) 导航,这工作正常。我在这里举个例子: plunker

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

4

2 回答 2

1

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

在锚标记中,只需调用函数window.changePage('home')和类似的 window.changePage('info'),并且

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

于 2017-08-16T12:34:04.610 回答
-1

更新

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


@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() {
  }
}
于 2017-08-16T11:34:08.800 回答