2016-04-28 83 views
0

我试图使用$sce解析字符串到html,但它不起作用。 我对angular controller功能:AngularJS将字符串解析为html

function renderHtml(string) { 
    return $sce.trustAsHtml(string); 
} 

HTML:变量newfield.showConditions = gender <br /> vk

<div style="width:100px; word-wrap: break-word" ng-bind-html="ctrl.renderHtml(ctrl.newfield.showConditions)"></div> 

价值是什么,我做错了什么?

+0

如果你只需要换行,你应该能够\的方式 – Aides

+0

什么是错误r \ N',而不是''
进入'? –

+0

你是否注入依赖? –

回答

0

我为您的场景创建了一个JSBin,它工作正常。我已经做了被曝光的控制器的方法,改变使用保留字stringstr,并添加$sce作为依赖的变化:

$scope.renderHtml = renderHtml; 

function renderHtml(str) { 
    return $sce.trustAsHtml(str); 
} 
+0

它不起作用 –

+0

你有没有看到JSBin的链接? –

0

试试这个,包括ng-sanitize

function renderHtml($sce,string) { 
    return $sce.trustAsHtml(string); 
} 
+0

不幸的是,不起作用 –

0

尝试。将ngSanitize depenednecy添加到应用程序。

angular.module('app', ['ngSanitize']) 

并且还添加ngSanitize js文件。

angular.module('app', ['ngSanitize']) 
 

 
.controller('ctrl',function($scope, $sce) { 
 
    $scope.html =$sce.trustAsHtml(
 
    ' this is <br> a <em>test</em>'); 
 
    
 
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.0/angular.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.0/angular-sanitize.min.js"></script> 
 
<div ng-app="app"> 
 
    <div ng-controller="ctrl"> 
 
    <p ng-bind-html="html" ></p> 
 
    </div> 
 
</div>