Angularjs ngBindHtml与使用angularUI的模板中的$sce.parseAsHtml的结果不同
编辑:找到解决方案!请参见问题底部的解释 我有一个指令sfNgFieldWrapper,其中包含一个工具提示,我从angularjUI ui引导程序中获得 工具提示的文本设置为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
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})
找到解决方案。谢谢你的回复。