2014-05-15 27 views
0

我一直在這個太久。 基本上,我通過json提取信息。 這工作正常,但被拉的信息不會顯示爲HTML。AngularJS - trustAsHtml。幫我理解

我一直試圖讓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>"}] 

我如何針對具體的結果,如「MORE_INFO」以顯示爲HTML?

+0

返回的JSON是什麼樣的?你如何在視圖中顯示它?告訴我們你的代碼。 –

+0

我們可以看到你想要綁定返回的HTML嗎? –

+0

@JB Nizet,謝謝你的迴應。 JSON非常標準。我更新了這篇文章。我已經發布瞭如何在HTML中顯示結果。我有一個ng-repeat的div,並且我在重複的div中使用了ng-bind-html =「item.more_info」的p標籤。我只需要知道控制器中的最後一步,使其正確渲染「more_info」。我爲trustAsHtml()嘗試了許多不同的教程。我刪除了控制器中的代碼,因爲它們不起作用。看看提供的代碼,你會在控制器中添加什麼?謝謝。 – user1828415

回答

0

基本上你就在你的道路上。你需要做的是檢查它是否與鍵值正確。關鍵是你的特定價值的標識符。 你需要做的是使用ng-if條件。

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