[英]Reading JSON in AngularJS prints HTML tag as it is
这是我正在尝试使其工作的JSFiddle文件。
我做了一个简单的过滤器,将\\n
换行符从JSON更改为<br>
以在HTML中提供换行符,但是它没有按预期工作。
问题是:在输出中<br>
标记按原样显示,而不是由浏览器呈现为line-break 。
到目前为止,我已经尝试使用$sce
变量制作新的过滤器,例如
angular.module('myApp.filters', [])
.filter('linebreak', function() {
return function(text) {
return text.replace(/\n/g, '<br>');
}
})
.filter('to_trusted', ['$sce', function($sce){
return function(text) {
return $sce.trustAsHtml(text);
};
}]);
并通过ng-bind
将过滤器管道ng-bind
:
<div ng-bind="data.para | linebreak | to_trusted"></div>
但这并不能解决问题。 任何提示如何告诉浏览器
HTML,并在这种情况下将其呈现为换行符?
在html中使用$sce
,必须使用ng-bind-html
指令而不是ng-bind
:
<div ng-app="myApp">
<div ng-controller="jsonCtrl">
<div ng-repeat="data in textFile">
<div ng-bind-html="data.para | linebreak | to_trusted"> </div>
</div>
</div>
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.