2016-03-03 104 views
2

我在具有某些HTML内容的范围中有一个变量。我想在网页上将它呈现为HTML,但在我的情况下,它显示为全文。谁能帮我?如何在AngularJS中将文本呈现为HTML

这是我的代码: -

//contoller.js

$scope.message = '<b><i>result has been saved successfully.</i></b>'; 

//demo.html

<p ng-bind="message"></p> 
+2

为什么你需要控制器中的html字符串,而不是模板呢? – charlietfl

+0

,因为我想显示一个成功的消息,而用户点击保存按钮,我希望这条消息看起来不错。 –

+0

因此,让它在模板中看起来不错,并传入文本...这是正常的方法。 – charlietfl

回答

5

你需要注入$ SCE服务到您的controllerDirective等,并使用$sce service这样的: -

$scope.Message = $sce.trustAsHtml("<b><i>result has been saved successfully.</i></b>"); 

而在你的HTML页面e.g结合这一点;

<p ng-bind-html = "Message"></p> 
+0

感谢这很好 –

0
<p ng-bind-html="message"></p> 
+1

真的吗?没有解释?只需一行代码... – Ankh

+0

ng-bind-html需要更多解释吗?这应该解决问题 –