2016-08-02 38 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