AngularJS textarea 换行/换行转换

Eri*_*ari 5 textarea newline line-breaks angularjs

我有一个通过 ng-model 填充内容的 textarea:

<textarea data-ng-model="messageBody"></textarea>
Run Code Online (Sandbox Code Playgroud)

messageBody 需要使用换行符 (\n) 而不是换行符存储在数据库中。但是,当我使用正则表达式将换行符转换为换行符并将其传递给模型时,角度会转义 HTML。有没有办法将 HTML 直接传递给模型或文本区域而不进行转换?或者,是否有更好的方法在 textarea 换行符和换行符之间进行转换?

更新

经过进一步检查,这不是角度问题。我们正在使用 SQL 脚本填充数据库 (Postgres)。原来插入到数据库中的字符串没有被转义。由于字符串包含换行符,这意味着它们被直接作为文本插入。然后,前端的换行处理似乎产生了与最初填充的结果不一致的结果。长话短说 - 我转义了初始数据库内容以适应换行符,一切正常。

JJJ*_*JJJ 1

文本区域内的新行是结果字符串 ( \n) 中的新行。

这个小提琴展示了这种行为。

如果您想存储\n在数据库中,则无需执行任何操作,字符串已经是该格式。

如果通过“换行符”,您的意思是<br>标签,并且实际上意味着该字符串来自包含此类标签的数据库,那么我想您应该事先替换它们。

理想情况下,您的数据库应包含换行符 ( \n),您应按原样保存并从中获取换行符,无需转换。