2016-01-28 36 views
0

我創建使用果園CMS和AngularJS 1.2.20和我想要呈現的HTML代碼的網站,但我得到這個錯誤

Error: [$sce:unsafe] http://errors.angularjs.org/1.2.20/$sce/unsafe 
    v/<@http://www.angularjshub.com/code/angularjs/repository/angular-1.2.20/angular.min.js:6:450 
    be/this.$get</[email protected]://www.angularjshub.com/code/angularjs/repository/angular-1.2.20/angular.min.js:117:34 
    be/this.$get</<[email protected]://www.angularjshub.com/code/angularjs/repository/angular-1.2.20/angular.min.js:118:327 
    @http://www.angularjshub.com/code/angularjs/repository/angular-1.2.20/angular.min.js:120:71 
    kd</</<@http://www.angularjshub.com/code/angularjs/repository/angular-1.2.20/angular.min.js:191:341 
    Zd/this.$get</[email protected]://www.angularjshub.com/code/angularjs/repository/angular-1.2.20/angular.min.js:109:170 
    Zd/this.$get</[email protected]://www.angularjshub.com/code/angularjs/repository/angular-1.2.20/angular.min.js:112:171 
    [email protected]://www.angularjshub.com/code/angularjs/repository/angular-1.2.20/angular.min.js:72:452 
    [email protected]://www.angularjshub.com/code/angularjs/repository/angular-1.2.20/angular.min.js:77:347 
    we/</[email protected]://www.angularjshub.com/code/angularjs/repository/angular-1.2.20/angular.min.js:78:420 

這是我的腳本:

var firstController = function ($scope, $http, $interval, $sce) { 
$http.get(apiUrl + "/Authors) 
    .success(function (data, status, header, config) { 
     $scope.names = data; 
    }); 
     $scope.renderHtml = function (html_code) { 
      return $sce.trustAsHtml(html_code); 
     }; 

這是我的看法:

<div ng-bind-html="renderHtml(authors.Photo)"></div> 
+0

您是否在AngularJS應用程序對象中包含ngSanitize? ngSanitize是'ng-bind-html'所必需的。 – ul90

回答

0

好吧,我發現我的問題。我有一個div:

<div ng-bind-html="(authors.Name)"></div> 

我沒有調用renderHtml函數。

1

這是因爲你還沒有使用標記的HTML作爲安全我看你已經完成了。你能否像這樣創建一個簡單的小提琴來重現它。

HTML代碼:

<h2>Rendering HTML with angularJS</h2> 
<div ng-app="angularApp" ng-controller="appController"> 
    <div ng-bind-html="renderHtml(content)"></div> 
</div> 

JS代碼:

var app = angular.module("angularApp", []); 
app.controller("appController", function($scope, $sce){ 
    $scope.content = "This text is <em>html capable</em> meaning you can have <a href=\"#\">all</a> sorts <b>of</b> html in here."; 
    $scope.renderHtml = function(html){ 
     return $sce.trustAsHtml(html); 
    }; 
}); 

http://jsfiddle.net/x2vxxbya/1/