首页 文章

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

提问于
浏览
3

我正在尝试使用带有外部链接的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步:单击主页,然后单击转到信息按钮 . 您可以看到“转到信息”有一个routerLink,您可以单击它 . 第2步:刷新页面 . 单击信息,您将看到无法单击“转到信息” . 如何用外部链接强制角度加载RouterModule?

2 回答

  • 0

    最好在.ts文件中对路由器进行路由 .

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

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

  • 1

    更新

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


    @GünterZö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() {
      }
    }
    

相关问题