AngularJS:换行符到段落元素

在Angular中,我需要从包含换行符的文本块中生成一系列段落元素吗?

我可以想到几种方法来做到这一点。但是我想知道是否有一种“官方的” Angular方法,或者在AngularJS上下文中最优雅的方法是什么?

回答:

从:

Lorem ipsum dolor坐下来,管教着迷。\ n

Sed diam nonummy nibh euismod tincidunt ut laoreet dolore。\ n

Magna aliquam erat volutpat。Ut wisi enim ad minim veniam。

至:

<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>

<p>Sed diam nonummy nibh euismod tincidunt ut laoreet dolore.</p>

<p>Magna aliquam erat volutpat. Ut wisi enim ad minim veniam.</p>

我可以想到许多方法来做到这一点:

  1. 修改控制器中的文本(尽管我更喜欢避免修改模型)
  2. 使用指令,并在链接函数中生成段落(似乎过于繁琐)。
  3. 使用过滤器(我当前的最爱)创建一个数组,以管道传输到ng-repeat

回答:

我能想到的最好的解决方案是创建一个过滤器:

angular.module('myApp').

filter('nlToArray', function() {

return function(text) {

return text.split('\n');

};

});

这需要一段文本并为每个段落创建一个新的数组元素。

然后可以将此数组插入ng-repeat指令:

<p ng-repeat="paragraph in textBlock|nlToArray track by $index">{{paragraph}}</p>

以上是 AngularJS:换行符到段落元素 的全部内容, 来源链接: utcz.com/qa/414404.html

回到顶部