将 HTML 字符串查看为 HTML
Viewing HTML string as HTML
我有一些自动生成的 html 代码在我的 angularJS 应用程序中突出显示了一些文本。生成 html 代码的行是这一行:
var replaced = original.replace(regEx, '<span style="background-color: red;">' + replacing + '</span>');
line[key + 'HL'] = replaced;
但是在模板上写这个
<div><p>{{line.codeHL ? line.codeHL : line.code}} {{line.price}}</p></div>
显示这个:
<span style="background-color: red;">GD5AU211</span> 102€
如何强制计算字符串中的 html 代码?
另外,由于某些原因我无法使用 document.getElementById()
。
如果您使用 angular 4 则使用 innerHTML
<div><p>
<div [innerHTML]="line.codeHL ? line.codeHL : line.code">
</div> {{line.price}}
</p></div>
如果您使用 angular 1 则使用 ng-bing-html
<div><p>
<div ng-bind-html="line.codeHL ? line.codeHL : line.code | cust">
</div> {{line.price}}
</p></div>
现在像这样创建一个 cust
过滤器
.filter('cust',function($sce){
return function(html){
return $sce.trustAsHtml(html)
}
})
参考这个link。这可能是您要寻找的:
AngularJS : Insert HTML into view
要启用 html 插入视图,您必须使用 $sce.trustAsHtml()
将 html 定义为可信数据
希望这会有所帮助。
在必须显示为文本的 html 之前添加 <xmp>
标签。
var replaced = original.replace(regEx, '<span style="background-color: red;"><xmp>' + replacing + '</xmp></span>');
我有一些自动生成的 html 代码在我的 angularJS 应用程序中突出显示了一些文本。生成 html 代码的行是这一行:
var replaced = original.replace(regEx, '<span style="background-color: red;">' + replacing + '</span>');
line[key + 'HL'] = replaced;
但是在模板上写这个
<div><p>{{line.codeHL ? line.codeHL : line.code}} {{line.price}}</p></div>
显示这个:
<span style="background-color: red;">GD5AU211</span> 102€
如何强制计算字符串中的 html 代码?
另外,由于某些原因我无法使用 document.getElementById()
。
如果您使用 angular 4 则使用 innerHTML
<div><p>
<div [innerHTML]="line.codeHL ? line.codeHL : line.code">
</div> {{line.price}}
</p></div>
如果您使用 angular 1 则使用 ng-bing-html
<div><p>
<div ng-bind-html="line.codeHL ? line.codeHL : line.code | cust">
</div> {{line.price}}
</p></div>
现在像这样创建一个 cust
过滤器
.filter('cust',function($sce){
return function(html){
return $sce.trustAsHtml(html)
}
})
参考这个link。这可能是您要寻找的: AngularJS : Insert HTML into view
要启用 html 插入视图,您必须使用 $sce.trustAsHtml()
希望这会有所帮助。
在必须显示为文本的 html 之前添加 <xmp>
标签。
var replaced = original.replace(regEx, '<span style="background-color: red;"><xmp>' + replacing + '</xmp></span>');