AngularJS - trustAsHtml。帮助我理解

时间:2014-05-15 17:36:55

标签: angularjs

我已经这么久了。 基本上,我通过json提取信息。 这样可以正常工作,但是提取的信息不会显示为HTML。

我一直试图让trustAsHtml工作,但我不知道我做错了什么。

这是我的代码:

控制器:

    var pageControllers = angular.module('pageControllers', ['ngSanitize']);

pageControllers.controller('PackagesCtrl', function PackagesCtrl($scope, $sce, $http){
                           $http.get('scripts/all_packages.php').success(function(data){ 

                            $scope.packagesData = data; 

                           });
});

我从数据库中获取数据组很好。我的数据是渲染纯文本而不是显示实际的html,例如:<p class="myClass">My Returned Data</p>

我的Html有ng-repeat="item in packagesData"

在那个div中我有:

ng-bind-html="item.more_info"

这会返回我需要的数据,但是我现在如何才能正确渲染它们呢?基本上,从返回的字段,我需要2个结果显示为HTML,但我尝试的一切都不起作用。

我的json文件返回多行数据,例如:

[{"title":"My Title", "more_info":"<p>Information</p>"},{"title":"My Title 2", "more_info":"<p>Information 2</p>"}]

如何定位特定结果,例如&#34; more_info&#34;显示为HTML?

1 个答案:

答案 0 :(得分:0)

基本上你就在你的道路上。你需要做的是用密钥检查它是否是正确的值。键是特定值的标识符。 你需要做的是使用ng-if条件。

<h2 ng-if="key=='more_info'" ng-bind-html="value"></h2>