web-dev-qa-db-fra.com

convertir la nouvelle ligne / n en un saut de ligne dans angular

J'ai une chaîne qui contient un nouveau caractère de ligne/n. Essayer d'afficher

la chaîne. Au lieu de prendre le/n comme nouvelle ligne, il affiche '/ n' comme texte.

   $scope.myOutput = " Hello /n"

    {{ myOutput | textFormat }}

Obligatoire -> Bonjour (sur la page html)

A essayé :

 app.filter('textFormat', function() {
    return function(x) {
      return x.replace(/\\n/g, '<br/>');
   }

Styles CSS éprouvés comme les espaces blancs: pre;

6
Rk R Bairi

Cela ne le remplace pas, mais vous pouvez utiliser l'attribut CSS white-space: pre-line; pour afficher le\n dans le navigateur: https://developer.mozilla.org/en-US/docs/Web/CSS/white-space

div {
  white-space: pre-line;
}
<div>Foo
   Bar
       Baz     Foo
     Bar
 


     
  Baz
</div>
16
Tim Schoch

1 - Réécrivez votre filtre de la manière suivante:

.filter('textFormat', function() {
    return function (x) {
      return x.replace(new RegExp('\/n', 'g'), '<br/>');
    }
 })

2 - dans votre html vous devez utiliser la syntaxe suivante:

<span ng-bind-html="myOutput | textFormat"></span>

myOutput est $scope.myOutput = ' Hello /n'

0
Vadim Shashkov