在AngularJs表达式中解码HTML

ih99xse1  于 2023-01-29  发布在  Angular
关注(0)|答案(1)|浏览(121)

对传递给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>
wi3ka0sx

wi3ka0sx1#

here, in the docs所述:

<span ng-bind-html="some_val"></span>

请记住,some_val必须是一个Angular 模型(基本上,$scope.some_val必须存在于应用中的某个地方)

    • 编辑:**

我要澄清:ng-bind-html是ngSanitize模块中的一个服务,它不包含在angularJS核心中ng-bind-html-unsafe是核心ng模块的一部分,但它包含了您提供的字符串,而没有对其进行清理(参见the ngBindHtmlUnsafe docs中的示例)。
如果您希望/需要使用ngBindHtml,则需要包含ngSanitize-available here

相关问题