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

时间:2016-06-15 09:45:05

标签: angularjs line-breaks text-formatting

我的文字如下:

Blablabla
Hello
How are you?

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

Blablabla Hello How are you?

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

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

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

1 个答案:

答案 0 :(得分:2)

试试这个

在您的控制器中

// in your stop button's onClick()
mp.release();
mp = null; // set it to null
在您的视图中

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

OR

你可以创建一个工厂来随处使用

<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>

所以Angular $ sanitize会删除像'script'这样可能是恶意的标签