2013-09-27 15 views
1

我是AngularJS的初学者,我尝试使用angularJS呈现html中的json,但是html标记未被编码。有没有办法做到这一点与angularJS方法?什么是使用angularJS将json模板编码为html的方式?

我的HTML:

<p>{{template.title}}</p> 

我的JSON:

{ 
    "title":"try a <br> to break line" 
} 

我的JS:

$http.get(JSON).success(function (data) { 
     $scope.template = data; 
}); 

不幸的是,使显示的BR标签

+0

您使用的是什么版本的AngularJS?这是重要的,因为1.2+不同于<1.2 – TheSharpieOne

+0

我使用1.0.7版本 – user2487815

回答

2

角要绑定作为文本的文本由def奥尔特。

在角< 1.2.0,您需要将HTML不安全的绑定(这可能是危险的):

<h1 ng-bind-html-unsafe="title"></h1> 

在角1.2.0,您需要将HTML绑定:

<h1 ng-bind-html="title"></h1> 

不要忘记包含ngSanitize以保证您的服务器安全。总体而言,我推荐使用Angular 1.2.0 rc2或更高版本,因为ngSanitize可以保证您的安全。

+0

我使用1.0.7版本,并且使用ng-bind-html-unsafe,它似乎可以工作,但我的内容现在显示为空:-( – user2487815

+0

Make确定你正在绑定正确的范围变量,我只是使用了我认为你的可能在我的例子中。 – Fourth

+0

你说得对,我用ng-bind-html-unsafe =“title”。但是它对ng- bind-html-unsafe =“template.title”,非常感谢你,现在我必须看看ngSanitize是如何工作的:thx! – user2487815

相关问题