javascript - 渲染 JavaScript 对象中的 HTML 标签

标签 javascript html angularjs

我有一个在 angularjs 网络应用程序中显示的 javascript 对象。对象是带有html标签的字符串字符"<h1></h1>""<p></p>" 问题是,当我在 html 页面上呈现它时,假设将标签呈现为常规 html 标签,但事实并非如此。它而是显示标签原始字符。

这是html页面上显示的内容

<h1>My Article title</h1><p>My article content goes here</p>

这是我期待看到的

我的文章标题

我的文章内容在这里

Angular 代码

          $scope.$apply(function(){                 
                $scope.eventsRaw = JSON.parse(data);
                $scope.eventDT = $scope.eventsRaw[0];
           })

HTML代码

<div>
  {{eventDT.name}}
  {{eventDT.desc}}
</div>

如何让它正确呈现。实际文件是从数据库中提取的。

谢谢。

最佳答案

使用:

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

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

注意:要使用它,您必须包含 ngSanitize在您的模块依赖项中。

在您的代码中:

<div>
  <span ng-bind-html="eventDT.name"></span>
  <span ng-bind-html="eventDT.desc"></span>
</div>

关于javascript - 渲染 JavaScript 对象中的 HTML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30152655/

相关文章:

javascript - Angular 函数结果未显示在 DOM 中

javascript - 具有 n 个大对象元素的数组是否比具有 n 个小对象元素的数组排序慢?

javascript - 如何获取对象 props 函数调用者?

javascript - 如何在包含脚本之前测试脚本是否有效

javascript - 没有秒的Angularjs时钟

javascript - 使用 Angular ng-if 旋转样式

php - 如何从网页打印特定表格

javascript - request.getParameter 返回脏字符串

html - 页脚不在底部

html - 为什么这个 ASP.NET Gridview 容器不保持其宽度?