首页 > 解决方案 > Angular 11:如何将路由链接添加到动态内容

问题描述

我有一个 Angular 应用程序,它从 API 获取 html 内容并使用[innerHtml].

一些内容包括a带有指向内部应用程序页面链接的标签,即。/en/ca/get-help.

我需要将这些通用 htmla标记转换为 routerlinks,以便在单击链接时不会重新加载应用程序(就像目前一样)。

ngAfterViewChecked在生命周期方法中呈现页面后,我尝试解析 html 。

我得到了所有的a标签const anchors = document.getElementsByTagName('a');,循环它们并像这样添加路由器链接:

anchors[i].setAttribute('href', `${url}`);
anchors[i].setAttribute('routerlink', `${url}`);
anchors[i].setAttribute('ng-reflect-router-link', `${url}`);

完成此操作后,链接具有与其他路由器链接相同的属性,但单击这些链接时应用程序仍会重新加载。

很想听听这个问题的 Angular 解决方案是什么。

标签: angular

解决方案


推荐阅读