首页 > 解决方案 > 将 html 传递到引导工具提示时出现“SafeValue must use [property]=binding”错误

问题描述

我正在做一个有角度的项目,即使我们正在使用引导程序,我也无法使用 ng-bootstrap。
我被要求在引导工具提示中添加一个按钮,我尝试通过复制标题属性中隐藏的 div 的内容(引导程序从中获取标题数据)来做到这一点,但我正在努力使用 Angular 的消毒剂,因为一旦我将 SafeHtml 放入 title 属性中,我就会SafeValue must use [property]=binding在字符串中收到此错误(您可以在此处查看示例https://stackblitz.com/edit/angular-ivy-6wrk5m)。

我还尝试了一种不同的方法(您可以在 stackblitz 中看到它的注释)以编程方式创建工具提示,但在这种情况下,我从 bootstrap 中得到一个不同的错误:Error: TOOLTIP: Option "title" provided type "object" but expected type "(string|element|function)",然后我尝试在 html 字段(() => this.domSanitizer.bypassSecurityTrustHtml(this.tooltipContainer.nativeElement.innerHTML);)中传递一个函数,但这只是给了我原来的错误SafeValue must use [property]=binding

我怀疑当您将 SafeHtml 放在需要字符串的属性(例如标题)中时,角度不喜欢它。

有没有办法使这项工作?只要不涉及安装库,我(很高兴)对替代方案持开放态度。

PS:我对我在这里所做的事情并不感到自豪,这绝对不是我会选择的解决方案,我只是想在我所面临的限制条件下让事情顺利进行

标签: javascriptangularbootstrap-4html-sanitizing

解决方案


推荐阅读