在 Angularjs 中显示之前格式化文本

Format a text before displaying it in Angularjs

我有这样的文字:

Blablabla
Hello
How are you?

但它必须存储在我的数据库中的同一个文本字段中,如下所示:

Blablabla Hello How are you?

我正在使用 Angular,我想知道如何在像这样在模板中显示之前格式化数据库文本。

<p>{{ value }}</p>

我知道我应该在数据库中添加一个分隔符,但我不知道是否可以添加一个'\n',然后在显示之前格式化文本。

试试这个

在你的控制器中

$scope.value = $scope.value.replace(/\n/g, '<br/>');
$scope.trustedHtml = $sce.trustAsHtml($scope.value);

在您看来

<p ng-bind-html="trustedHtml"></p>

你可以创建一个工厂在任何地方使用它

angular.module('app').filter('trustedHtml', function($sce) {
  return function(val) {
      return $sce.trustAsHtml(val);
  };
});

在你的控制器中

 $scope.value = $scope.value.replace(/\n/g, '<br/>');

在您看来

 <p ng-bind-html="value | trustedHtml"></p>

解决方案:

 <p ng-bind-html="value"></p>

所以Angular$sanitize删除了可能像'script'

这样的恶意标签