如何在 Angular 6 的组件模板中呈现超链接?
How to render a hyperlink in a component template in Angular 6?
我有一个 Angular 6 应用程序,其中一个组件用于在页面上显示消息。一些消息包含嵌入其中的超链接(在 HTML 标记中)。但是,当消息显示在页面上时,它们将以纯文本显示(不会呈现超链接,而是向用户显示标记)。
您可以访问 Stackblitz @ https://stackblitz.com/edit/angular-jj5nms 获取我创建的用于解释该问题的示例应用程序。
预期消息显示:
Click here.
实际消息显示:
Click <a href='http://www.google.com'>here</a>
您可以使用innerHTML
在你的组件中:
linkHtml = "Click <a href='http://www.google.com'>here</a>"
在您的模板中:
<div [innerHTML]="linkHtml"></div>
如果你想渲染HTML a 那么你需要绑定到一个元素的innerHTML
属性,例如:
<p [innerHTML]=“message | async”></p>
其中 message
是您从服务中观察到的。
使用把手渲染 message
只是渲染纯文本,绑定到 innerHTML
并使用 async
将渲染您的 html 内容
你可以这样使用:
在你的 .ts 文件中:
dummyLinkText: string = "Click <a href='https://www.google.com'>here</a>";
并在您的 .html 文件中:
<div [innerHTML]="dummyLinkText | translate"></div>
我有一个 Angular 6 应用程序,其中一个组件用于在页面上显示消息。一些消息包含嵌入其中的超链接(在 HTML 标记中)。但是,当消息显示在页面上时,它们将以纯文本显示(不会呈现超链接,而是向用户显示标记)。
您可以访问 Stackblitz @ https://stackblitz.com/edit/angular-jj5nms 获取我创建的用于解释该问题的示例应用程序。
预期消息显示:
Click here.
实际消息显示:
Click <a href='http://www.google.com'>here</a>
您可以使用innerHTML
在你的组件中:
linkHtml = "Click <a href='http://www.google.com'>here</a>"
在您的模板中:
<div [innerHTML]="linkHtml"></div>
如果你想渲染HTML a 那么你需要绑定到一个元素的innerHTML
属性,例如:
<p [innerHTML]=“message | async”></p>
其中 message
是您从服务中观察到的。
使用把手渲染 message
只是渲染纯文本,绑定到 innerHTML
并使用 async
将渲染您的 html 内容
你可以这样使用: 在你的 .ts 文件中:
dummyLinkText: string = "Click <a href='https://www.google.com'>here</a>";
并在您的 .html 文件中:
<div [innerHTML]="dummyLinkText | translate"></div>