我正在尝试使用带有外部链接的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 回答
最好在.ts文件中对路由器进行路由 .
在锚标记中,只需调用函数 window.changePage('home') ,类似地 window.changePage('info') ,和
在函数内的.ts文件中导航它 .
更新
检查评论和其他答案,以下只是一个解决方法
@GünterZöchbauer已经在评论中提到了解决方案
更改您的信息组件如下