【问题标题】:AngularJS - How to escape html in ng-model in a textarea field?AngularJS - 如何在文本区域字段中的 ng-model 中转义 html?
【发布时间】:2018-01-09 15:13:46
【问题描述】:

我有一个这样的 textarea 字段:

<textarea id="user_about" maxlength="500" name="about" 
ng-model="foo.bar"></textarea>

现在,使用这个用户更新他的信息 - 问题是我需要转义 html 之类的东西

$amp;

不显示,但我得到一个正常的 &。

我尝试使用 ng-bind-html,但是我需要两种方式的数据绑定,

最好的方法是什么?

【问题讨论】:

  • 用户输入的是 html 还是之前从模型中检索到的 html 需要在传递给视图之前进行转义?
  • 用户已经输入的过去信息 - 它就像一个关于我的部分。所以当它作为文本输出时它工作正常,但是当用户想要编辑它时,我遇到了问题。

标签: javascript angularjs model-view-controller angular1.6


【解决方案1】:

浏览器在将 html 实体转换为文本方面做得最好

在将数据传递给视图之前,可以通过以下方式转换为文本:

$scope.foo.bar = angular.element('<div>').html($scope.foo.bar).text()

【讨论】:

    最近更新 更多