逗号Angularjs之后带有新行的Textarea

时间:2016-08-02 12:38:46

标签: javascript css angularjs

我是前端开发的新手,我正在尝试找出在每个逗号后使用一个新行的文本区域的最佳方法。我真的想弄清楚AngularJs中最好的方法(过滤器,正则表达式等)

立即

hello,how,are,you

后:

Hello
how
are
you

目前:

<textarea cols="105" rows="30" disabled="true"
          style="background-color: floralwhite; resize: none; white-space: normal; margin-top: 0px; border: none;">
    {{profile.exampleValues}}
</textarea>

我试着写一个没有运气的过滤器:

.filter('newlines', function () {
     return function (text) {
         return text.replace(',', '<br/>');
     }
})

1 个答案:

答案 0 :(得分:1)

我更新了您的代码以使其正常运行。

首先,white-space: normal;替换为white-space: pre-line;

其次,改进了过滤器以处理正则表达式。根据{{​​3}}:

  

replace()方法在字符串中搜索指定的值或正则表达式,并返回一个替换指定值的新字符串。

     

注意:如果要替换值(而不是正则表达式),则只替换值的第一个实例。要替换所有出现的指定值,请使用global(g)修饰符

app.filter('newlines', function () {
  return function (text) {
    return text.replace(/,/g, '\n');
  };
});

因此,textarea应如下所示:

<textarea cols="105" rows="30" disabled="true"
          style="background-color: floralwhite; white-space: pre-line; resize: none; margin-top: 0px; border: none;">
    {{profile.exampleValues | newlines}}
</textarea>

请查看W3C