angular - 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 解决方案是什么。
解决方案
推荐阅读
- python - Python/Apache/Server - 无法导入模块
- firebase - 如何在 Ionic 中将 firebase 实时数据库数组显示到列表中
- hibernate - 保存我的数据后,一个对象从内存中返回,而不是从数据库中获取,
- reactjs - 想要在 React 的弹出窗口中显示外部链接页面
- java - 使用 Jaxb 解析 xml(原子提要)
- xml - 使用 PowerShell 按顺序获取 XML 节点和子节点
- java - 无法在组合任务运行器中执行第二个应用程序
- c - 为什么这个字符串二进制搜索程序不能搜索一半的数据?
- python - 为什么删除对可迭代对象的引用后循环会迭代?
- c# - 出现错误 操作被取消。---> System.IO.IOException:无法从传输连接读取数据:操作已取消