AngularJS:如何预处理json数据

时间:2013-07-30 01:41:39

标签: javascript angularjs

我创建了一个工厂来从后端检索json数据。部分json数据基于文本,需要将换行符转换为耦合的<p></p>标记。

我尝试使用此功能处理视图文件中的文本。

function TextProcess(text) {
    var p_text = text.replace("/[\r\n]+/", "</p><p>")+"</p>";
    var finish_text = p_text.replace("/(?<=\s)\x20|\x20(?=\s)/", "&nbsp;");
    return(finish_text);
}

这个功能可能有自己的问题......(我对javascript很新)

然后在视野中,我尝试了:

<p>{{TextProcess(article.body)}}</p>

这条线让我无处可去。

我正在以正确的方式处理AngularJS中的文本吗?我不知道如何在没有ng-repeat的帮助下使用AngularJS处理Json数据。

请告诉我该怎么做。

1 个答案:

答案 0 :(得分:1)

您可以使用自定义过滤器将格式应用于文本。

您最终会在模板中写下这个:

<span ng-bind-html-unsafe="text | customFilter"></span>

以下是自定义过滤器代码(我将其命名为&#39; fixup&#39;)

.filter('fixup', function () {

return function (input) {
    var txt = input.replace("/[\r\n]+/", "</p><p>") + "</p>";
    var out = txt.replace("/(?<=\s)\x20|\x20(?=\s)/", "&nbsp;");

  return out;
}

我创造了一个小提琴,但替代品并没有那么好用,但它应该给出一个坚实的起点: http://jsfiddle.net/aNp8M/2/