AngularJS textarea 换行/换行转换

标签 angularjs textarea newline line-breaks

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

<textarea data-ng-model="messageBody"></textarea>

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

更新

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

最佳答案

textarea 内的新行是结果字符串中的新行 ( \n )。

fiddle表现出这种行为。

如果您想存储 \n在数据库中,没有什么可做的,字符串已经是那种格式了。

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

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

关于AngularJS textarea 换行/换行转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24413080/

相关文章:

javascript - 将未定义常量与 Angular 一起使用

html - Rails -- 在文本区域中添加换行符

Javascript Textarea 只允许删除输入

php - 如何将数组内爆到新行

batch-file - 在 DOS 中如何使用以空格开头的字符串进行 SET/P

http - 如何使用 curl 发送换行符?

angularjs - 如何将动态输入数据添加到angularjs中的$http数据

javascript - 无法使用 ng-class 更改类

javascript - 如何在声明后运行 DOM 添加的指令?

JavaFX - 限制 TextArea 行?