AngularJS中頁面呈現html程式碼段

Darren Ji發表於2016-02-03

 

如何在頁面呈現一段html程式碼段呢?

在textarea中我們這樣寫:

<textarea name="" id="" cols="30" rows="" ng-model="app.someHtml"></textarea>

也可以這樣寫:

<div ng-bind-html="app.someHtml"></div>

在controller中大致這樣寫:

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

app.controller("AppCtrl", function(){
    var app = thisj;
    app.someHtml = '<a href="#">Hello</a>';
})

但,這樣會報錯。

如何避免呢?

--需要安裝angular-sanitize

npm install angular-sanitize

controller中改成這樣:

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

app.controller("AppCtrl", function($sce){
    app.someHtml = $sce.trustAsHtml('<a href="#" style="color:red">Hello</a>');
})

$sce用來信任html程式碼段。好讓類似style這種屬性生效、被信任。

相關文章