首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Angular InnerHTML的锚定标签中启用routerLink

在Angular InnerHTML的锚定标签中启用routerLink
EN

Stack Overflow用户
提问于 2020-06-30 16:51:05
回答 1查看 158关注 0票数 0

我有一个XML数据库和一个XSLT文档,用于在传递给服务器和Angular客户机之前将此XML转换为HTML。然后我使用[innerHTML]显示这个超文本标记语言。我希望能够使用锚标签在页面内导航(例如脚注),并最终导航到不同的组件。我已经包含了脚注的示例代码。鉴于Angular在使用innerHTML时会删除routerLink属性,我正在处理一个解决方案,编辑DOM元素并手动添加属性和单击行为。然而,这看起来并不是很有意义,所以我想知道是否有更好的方法来做这件事?

代码语言:javascript
运行
复制
document = '<a routerLink="." fragment="45"><sup>45</sup></a><p>Other text</p><div id="45>Footnote text</div>'


<div id="view-panel" [innerHTML]="document | safe: 'html'">
EN

回答 1

Stack Overflow用户

发布于 2020-07-01 03:45:46

我已经创建了一个包:ngx-event-handler,它允许您做一些不应该做但有时不得不做的事情。比如侦听文档事件来检测外部元素单击,或者在您的例子中处理来自innerHTML的锚点单击。

这里是Stackblitz

代码语言:javascript
运行
复制
<div (handleEvent)="routerlinkClicked($event)" 
     [inclusion]="['a']" 
      id="view-panel"
      [innerHTML]="document">
</div>

routerlinkClicked(element : HTMLElement) {
   this.router.navigate([element.getAttribute('routerlink')]);
}

在此StackBlitz的最后一个示例中,我处理href的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62653682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档