Angularjs ngBindHtml与使用angularUI的模板中的$sce.parseAsHtml的结果不同

Angularjs ngBindHtml与使用angularUI的模板中的$sce.parseAsHtml的结果不同,angularjs,data-binding,html-entities,Angularjs,Data Binding,Html Entities,编辑:找到解决方案!请参见问题底部的解释 我有一个指令sfNgFieldWrapper,其中包含一个工具提示,我从angularjUI ui引导程序中获得 工具提示的文本设置为tooltip=“{{ttpText}}” 问题是文本包含html实体,而这些实体没有转换为正确的字符。 我不能使用ng bind html,但我已经检查过了,当我在跨度上使用它时,工具提示的文本被正确转换。 但是,我不能使用span和ng绑定html,因为我需要使用工具提示 为了解决这个困境,我想我应该使用$sce.pa

编辑:找到解决方案!请参见问题底部的解释

我有一个指令sfNgFieldWrapper,其中包含一个工具提示,我从angularjUI ui引导程序中获得

工具提示的文本设置为
tooltip=“{{ttpText}}”

问题是文本包含html实体,而这些实体没有转换为正确的字符。 我不能使用ng bind html,但我已经检查过了,当我在跨度上使用它时,工具提示的文本被正确转换。 但是,我不能使用span和ng绑定html,因为我需要使用工具提示

为了解决这个困境,我想我应该使用
$sce.pareAsHtml
。问题是html实体没有正确地转换为字符

我在指令链接函数中使用它,如下所示:

scope.ttpText = $sce.parseAsHtml(scope.ttpText);
为什么parseAsHtml不工作而ng bind html工作

我不能将parseAsHtml放在作用域内。$watch,因为这会触发循环

TrustAsHtml也不起作用

工具提示功能会像这样绑定内容:

$document.find( 'body' ).append( tooltip );
解决方案 在查看了ui引导的代码之后,我开始专门搜索stackoverflow,我发现了一个问题,有类似的问题和解决方案!

愚蠢的我也可以查看AngularUI指南:

解决方案很简单,我可以在
数据工具提示
后添加
-html不安全

解决方案 我还更新了问题以获得最大的可见性

在查看了ui引导的代码之后,我开始专门搜索stackoverflow,我发现了一个问题,有类似的问题和解决方案!带HTML的角度ui工具提示

愚蠢的我也可以查看AngularUI指南:


解决方案很简单,我可以在数据工具提示之后添加-html unsafe。

如何将
ttpText
添加到DOM?我的指令有一个独立的作用域,其中我的ttpText被定义为ttpText:“@”。您需要共享更多代码。另外,当我问您如何将
ttpText
添加到DOM时,我问您使用的是什么函数:
.text()
.html()
?您可以尝试
attrs.$observ(attrs.ttpText,函数(n){//changed value here})
找到解决方案。谢谢你的回复。