2016-08-02 58 views
0

我有這樣的HTML離子到處亂飛的卡的列表:顯示格式從字符串的子串在JS對象

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

它是從我的JS控制器這樣定義的對象反饋:

$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' }]; 

我想用粗體字母(更具體地說,'D.XXX-XXXX')來格式化'eventText'成員的一部分。其餘的應該是正常的文字。我曾嘗試在子字符串周圍添加CSS和HTML格式標記,但沒有任何效果。我也嘗試使用粗體()JS函數結果相同...

正如我所看到的,包括格式標籤上的JS字符串不會被轉換爲HTML代碼。你能不能指出我這個機制的內部機制,以便更好地理解JS和HTML在這種情況下是如何相關的?

由於提前,

何塞

+0

是子串的長度總是將是10?如果是這樣,你不能這樣做 'VAR串= originalString.substr(originalString.length - 10,originalString)提取SUBSTR;' 那麼你可以做subString.toUpperCase(); –

+0

謝謝,巴勃羅。不,該字符串將是可變的,所以我需要一種方法直接在JS字符串上執行。我也嘗試逃避'<' and '>',但仍然沒有運氣。 – kankamuso

回答

2

您可以使用ngBindHtml指令

進樣ngSanitize,如下:

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

然後,例如,你可以有這樣的:

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

查看

<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

非常感謝,它工作! – kankamuso