2015-07-10 21 views

risposta

20

Invece di passare stringa da visualizzare direttamente, è necessario utilizzare sce.trustAsHtml per pre-processo del codice HTML.

$scope.bindHTML = $sce.trustAsHtml(item2._unparsedString); 

Quindi nel modello di visualizzazione, utilizzare ng-bind-html per gestire il binding html.

<div>Preamble : <div ng-bind-html="bindHTML"></div></div> 

Come lei ha ricordato di avere una serie di oggetti, non è così facile per lanciare loro nel vostro controller, è possibile associare $sce al vostro $scope quindi chiamare trustAsHtml nella vista

Così nel controller

myapp.controller('mainController', function ($scope, $http, $filter, $sce) { 
    $scope.$sce = $sce; 
... 
} 

Poi, nel tuo visualizzazione HTML

<div>Preamble {{$index+1}} : <span ng-bind-html="$sce.trustAsHtml(item1.Preamble._unparsedString)"></span></div> 
+0

si può vedere questo esempio https://jsfiddle.net/1joo0j77/4/ – Flash

+0

sto avendo serie di objects..so come applicarla bcoz suo non è un singolo valore .. e devo applicare all'interno di una ng-repeat – Flash

+0

@Flash controllare il mio aggiornamento. Puoi semplicemente inserire '$ sce' nel tuo controller. – Rebornix

5

Controllare questo esempio operativo: http://jsfiddle.net/Shital_D/b9qtj56p/6/

Scaricare il file - angular-sanitize.js e includerlo nella propria app.

var app = angular.module('myApp', ["ngSanitize"]);  

app.controller('myController', function($scope,$compile) { 
    $scope.html = '<p>Your html code</p>'; 
}); 

<div ng-app="myApp"> 
    <div ng-controller="myController"> 
    <p ng-bind-html="html"></p> 
</div> 

+0

Ha funzionato, ma cosa c'è di diverso tra angular_js e angular-sanitize.js – GoutamS

Problemi correlati