6

我试图在 angularJS 中创建一个博客,在帖子消息部分我想从 json 获取消息并将其添加到这样的内容 div

<div class="content">
    {{json.message}}
</div>

现在我的 div 中有一个段落,它实际上是一个像这样的 html 代码

<p>this is my message</p>

但是当我这样做时,我在屏幕上看到这个

<p>this is my message</p>

作为文本。我知道在以前的版本中我可以使用 ng-bind-html-unsafe 但我使用的是 angularJS v1.2。任何人都可以向我展示类似于 ng-bind-html-unsafe 的代码,以便我可以在 v1.2 中进行这项工作吗?谢谢你,丹尼尔!

4

2 回答 2

6

您可以使用1.2 中的严格上下文转义服务( )$sce

控制器:

function myCtrl($scope,$sce) {
    $scope.myHtml = $sce.trustAsHtml('<span>Hello World!</span>');
}

模板:

<div ng-app ng-controller="myCtrl">
    <div ng-bind-html="myHtml"></div>
</div>

示例:http: //jsfiddle.net/TheSharpieOne/GKnrE/1/

于 2013-09-12T20:53:38.287 回答
4

您需要注入并使用$sce服务将其标记为受信任的 HTML,然后使用ng-bind-html指令 ( plunkr ):

应用程序.js:

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope, $sce) {
  $scope.name = $sce.trustAsHtml('<p>Hello World</p>');
});

索引.html:

<body ng-controller="MainCtrl">
    <div class="content" ng-bind-html="name"></div>
</body>
于 2013-09-12T20:53:01.120 回答