2016-07-25 8 views
1

meine Zeichenfolge ist:Wie kann ich Br in einer Zeichenfolge verwenden, um meine Zeichenfolge korrekt mit dem HTML-Tag anzuzeigen?

$scope.lyrics = 'blablablalba\nblablabla\nblablabla'; 

dann ersetzen i '\n'-<br> Tag

und meine Saite ist jetzt auch:

$scope.lyrics = 'blablablalba<br>blablabla<br>blablabla'; 

und wenn meine Zeichenfolge in html:

<p> {{ lyrics }} </p> 

mein Ergebnis ist

blablablalba <br> blablabla <br> blablabla 

Was kann ich für mein Ergebnis zu tun sein:

lablablalba 

blablabla 

blablabla 
+0

haben Sie versucht, mit einem coule od

anstelle eines nur? – scaisEdge

+0

Ich vermute, Angulars Flucht/Desinfektion der Tags. – gcampbell

+0

ja, das Ergebnis ist das gleiche –

Antwort

1

Sie haben die HTML-Tags zu sanieren.

$scope.lyrics = 'blablablalba<br>blablabla<br>blablabla'; 

<p ng-bind-html-unsafe="lyrics"> 

würde der Ausgang sein:

blablablalba 
blablabla 
blablabla 

Check this out: http://jsfiddle.net/5DMjt/7670/

1

Angular Einsätze Strings als Text für Sicherheit und Sie müssen sicher festlegen zu sterilem Inhalt unter Umgehung ermöglichen.

Angular Docs:

ngBindHtml - Richtlinie in Modul ng

Wertet den Ausdruck aus und fügt den resultierenden HTML-Code in das Element in einer sicheren Weise. Standardmäßig wird der resultierende HTML-Inhalt mit dem $ sanitize-Dienst bereinigt. Für die Nutzung dieses Funktionalität, stellen Sie sicher, dass $ sanitize verfügbar ist,


Arbeitsbeispiel:

var app = angular.module('myApp', ['ngSanitize']); 
 
app.controller('myCtrl', function($scope) { 
 
    $scope.lyrics = 'blablablalba<br>blablabla<br>blablabla'; 
 
});
<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 

 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js"></script> 
 
    <script src="https://rawgit.com/angular/bower-angular-sanitize/master/angular-sanitize.min.js"></script> 
 
    <meta charset="utf-8"> 
 
    <meta name="viewport" content="width=device-width"> 
 
    <title>JS Bin</title> 
 
</head> 
 

 
<body ng-app="myApp" ng-controller="myCtrl"> 
 
    <p ng-bind-html="lyrics"></p> 
 
</body> 
 

 
</html>