我在尝试找到解决方法时遇到了一些麻烦:
一方面,我已经定义了我的路线,如下所示:
const appRoutes: Routes = [
{ path: '**', component: TemplateComponent, pathMatch: 'full' }
];
export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes);
因此,基于 URL,TemplateComponent 将获取不同的 html 模板:
@Component({
templateUrl: this.document.location.pathname
})
另一方面,我的后端服务器生成一些 HTML 输出,如下所示:
<nav>
<a routerlink="/content/mysite/t1.html" href="/content/mysite/t1.html">Template 1</a>
<a routerlink="/content/mysite/t2.html" href="/content/mysite/t2.html">Template 2</a>
<a routerlink="/content/mysite/t3.html" href="/content/mysite/t3.html">Template 3</a>
</nav>
所以我面临的问题是,当单击任何生成的链接时,Angular 不会获取模板,也不会初始化组件,这仅在加载 AppModule 时完成一次。
我发现了一些讨论必须实现订阅者的文章,尽管在阅读了 Angular 4 文档并且尝试不同的事情失败之后,我最终迷失了方向。
如果有人能提供一些启示,那就太好了。