我创建了一个工厂来从后端检索json数据。json数据的一部分主要基于文本,需要将换行符转换为耦合的<p></p>
标记。
我尝试使用此函数来处理视图文件中的文本。
function TextProcess(text) {
var p_text = text.replace("/[rn]+/", "</p><p>")+"</p>";
var finish_text = p_text.replace("/(?<=s)x20|x20(?=s)/", " ");
return(finish_text);
}
这个函数可能有它自己的问题。。。(我对javascript很陌生)
然后在视图中,我尝试了:
<p>{{TextProcess(article.body)}}</p>
这句话让我无所适从。
我所做的是在AngularJS中处理文本的正确方式吗?如果没有ng-repeat
的帮助,我不知道如何使用AngularJS处理Json数据。
请告诉我该怎么做。
您可以使用自定义过滤器将格式应用于文本。
你最终会在你的模板中写下这个:
<span ng-bind-html-unsafe="text | customFilter"></span>
这是自定义过滤器代码(我将其命名为"fixup")
.filter('fixup', function () {
return function (input) {
var txt = input.replace("/[rn]+/", "</p><p>") + "</p>";
var out = txt.replace("/(?<=s)x20|x20(?=s)/", " ");
return out;
}
我制造了一把小提琴,但替换效果不太好,但它应该有一个坚实的起点:http://jsfiddle.net/aNp8M/2/