对传递给Angular表达式的字符串中包含的HTML进行解码的最佳方法是什么?
示例:
如果服务器返回一个字符串,如下所示:
var some_val = "Hello <strong>World</strong>!"
我怎样才能让它呈现HTML而不是将其显示为文本?
<!-- Renders to Hello <strong>World</strong>! -->
<span>{{ some_val }}</span>
- 更新 *:以下是中继器中的实际用例:
- 工程(未消毒)**
<div ng-repeat="category in some_list">
<p>{{ category.name }}</p>
<p ng-repeat="bullet in category.bullets">{{ bullet.desc }}</p>
</div>
- 完全不起作用**
<div ng-repeat="category in some_list">
<p ng-bind-html="category.name"></p>
<p ng-repeat="bullet in category.bullets" ng-bind-html="bullet.desc"></p>
</div>
1条答案
按热度按时间wi3ka0sx1#
如here, in the docs所述:
请记住,some_val必须是一个Angular 模型(基本上,
$scope.some_val
必须存在于应用中的某个地方)我要澄清:ng-bind-html是
ngSanitize
模块中的一个服务,它不包含在angularJS核心中。ng-bind-html-unsafe
是核心ng
模块的一部分,但它包含了您提供的字符串,而没有对其进行清理(参见the ngBindHtmlUnsafe docs中的示例)。如果您希望/需要使用ngBindHtml,则需要包含ngSanitize-available here