【问题标题】:How to display HTML text in angularjs / bootstrap? [duplicate]如何在 angularjs / bootstrap 中显示 HTML 文本? [复制]
【发布时间】:2016-07-21 21:25:03
【问题描述】:

我有 angularJS 服务,它返回一个字符串,这个字符串可能包含 HTML 标签,像这样

"<strong>Error:</strong>Something is wrong"

我有一个元素 div,我想在其中放置这条消息

<div class="alert alert-danger" ng-bind="vm.message" role="alert"></div>

当此消息设置为上面的文本时,在 HTML 页面中结果显示为 AS IS,意思是

<strong>Error:</strong>Something is wrong.

代替

错误:出了点问题。

我怎样才能像这样输出这个文本,以便呈现 HTML 标签?

【问题讨论】:

  • this.message = $sce.trustAsHtml("&lt;strong&gt;Error:&lt;/strong&gt;Something is wrong")。但是,您的服务可能不应该像这样返回您的 HTML 字符串。使服务返回{type: 'error', message: 'Something is wrong'} 并在模板中正确格式化。

标签: html angularjs twitter-bootstrap-3


【解决方案1】:

查看https://docs.angularjs.org/api/ng/directive/ngBindHtml

使用ng-bind-html 指令将字符串绑定为html

【讨论】:

  • 我能知道为什么这个答案是 -1 吗?
  • 我实际上认为这是一个答案。他唯一忘记提到的是,要使 ng-bind-html 工作,我必须包含 angular-sanitize.min.js 文件并将 ngSanitize 添加到我的应用程序模块中: var app = angular.module('app', [ 'ngSanitize']);
  • @ShudhanshShekhar:stackoverflow 鼓励推荐链接,请阅读stackoverflow.com/help/how-to-answer
猜你喜欢
  • 2011-12-08
  • 2014-01-17
  • 2015-05-09
  • 2013-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多