在JS对象中显示字符串的格式化子字符串

时间:2016-08-02 12:49:05

标签: javascript angularjs ionic-framework

我有这个用离子填充的HTML列表:

<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格式标签,但没有任何作用。我也尝试使用带有相同结果的bold()JS函数......

正如我所看到的,JS字符串上的格式标签不会被翻译成HTML代码。你能否指点我这个机制的内部,以更好地理解JS和HTML在这种情况下的关系?。

提前致谢,

1 个答案:

答案 0 :(得分: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>