1
resposta

Inserir quebra de linha dentro de uma string

Estou tentando inserir uma quebra de linha dentro de uma string usando Angular, porem nao está functionando.

Ja tentei usar a tag <br> e tambem tentei utilizar um filtro que substitui \n por uma <br/>

Em ambos os casos a tag <br/> é renderizada pelo Angular.

Este é o filtro que eu criei:

app.filter('newline', function($filter) {
  return function(text) {
    return text.replace(/\n\r?/g, '<br/>');
  };
});

E aqui é um exemplo de como eu estou aplicando o filtro:

<p>Address: <strong>{{address | newline}}</strong></p>

Meu controller:

 app.controller('ContactController', function($scope) {
   $scope.phone = '12345678910';
   $scope.email = 'email@mail.com';
   $scope.address = "3481 Melrose Place \n Beverly Hills, CA 90210";
 });

O endereço é renderizado dessa forma:

Address: 3481 Melrose Place <br/> Beverly Hills, CA 90210

Por que isso acontece e como resolver esse problema?

1 resposta

Angular faz parser do Html da string para evitar ataques. Existe um modo não seguro mas desaconselhado. Curiosidade, já tentou usar \n ?