2016-08-02 7 views
0

Ich habe dieses HTML in ionischer, die eine Liste von Karten füllt:anzeigen String von String in JS Objekt formatiert

<div class="list"> 
<div class="card" ng-repeat="item in eventsDay19"> 
    <div class="item item-divider"> 
     <b>{{item.eventHour}}</b> - <span style="font-style: italic;font-weight: bold;">{{item.eventTitle}}</span> 
    </div> 
    <div class="item item-text-wrap"> 
     {{item.eventPlace}}<br />{{item.eventText}} 
    </div> 
</div> 
</div> 

Aus Objekten in meinem JS-Controller wie folgt definiert zugeführt wird:

$scope.eventsDay19 = [{ eventTitle: 'Pregón Anunciador de la Feria 2016 ', eventHour: '21:00', eventText: 'A cargo del deportista paralímpico D.XXX-XXXX', eventPlace: 'Parque de las Almadrabillas' }]; 

Ich möchte einen Teil des Elements 'eventText' mit fett formatierten Buchstaben formatieren (genauer gesagt, 'D.XXX-XXXX'). Der Rest sollte normaler Text sein. Ich habe versucht, CSS und HTML-Format-Tags um den Teilstring hinzuzufügen, aber nichts funktioniert. Ich habe auch versucht, die Fettschrift() JS-Funktion mit dem gleichen Ergebnis zu verwenden ...

Wie ich sehen kann, einschließlich Formatierungs-Tags auf der JS-Zeichenfolge wird nicht in HTML-Code übersetzt werden. Kannst du mich auch auf die Interna dieses Mechanismus hinweisen, um besser zu verstehen, wie sich JS und HTML in diesem Fall verhalten?

Vielen Dank im Voraus,

Jose

+0

Ist die Länge des Teils immer 10 sein werde? Wenn ja, können Sie den Sub-String nicht extrahieren, indem Sie tun 'var subString = originalString.sub (originalString.length - 10, originalString);' dann können Sie subString.toUpperCase(); –

+0

Danke, Pablo. Nein, die Zeichenfolge wird variabel sein, also brauche ich eine Möglichkeit, dies direkt in der JS-Zeichenfolge zu tun. Ich habe auch versucht, die "<' and '>" zu entkommen, aber immer noch kein Glück. – kankamuso

Antwort

2

Sie ngBindHtml Richtlinie

Inject ngSanitize, wie unten verwenden:

angular.module('moduleName', ['ngSanitize']; 

Dann wird, wie beispielsweise Sie dies haben:

var str = "Aaa <strong>D.XXX-XXXX</strong>"; 

Ansicht:

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-sanitize/1.5.8/angular-sanitize.min.js"></script> 
<span ng-bind-html="str"></span> 
+1

Vielen Dank, es hat funktioniert! – kankamuso