我没有在“ng-bind-html ='x.title.name'”中使用数组,而是使用ng-init指令创建变量并为其赋予数组属性。下面是我能够在一个数组元素上执行的操作:同样,我已经分别跟随其他数组元素。
像这样的东西: HTML视图:
<p ng-class="(x.title.bckColour=='electrical') ? 'electrical center-block' : 'data center-block'" ng-init="text= x.title.name" ng-bind-html=" text | highlight:search" >{{x.title.name}}</p>
我编写了JS代码,用span标记替换搜索词以添加背景颜色以突出显示搜索文本。正如我们在JS文件中看到的那样。
app.filter('highlight', function($sce) { return function(text, phrase) { if (phrase) text = text.replace(new RegExp('('+phrase+')', 'gi'), '<span class="highlighted">$1</span>') return $sce.trustAsHtml(text) } });
<div class="row"> <div class="container"> <div class="col-lg-3 col-md-4 col-sm-6 col-xs-12" ng-repeat="x in myData | filter: search " > <div id="jumbo" class="jumbotron text-center rounded-0"> <!--<p ng-class="(x.title.bckColour=== currentColor ? 'electrical' : 'data') + ' ' + (true ? 'electrical' : 'data')">{{x.title.name}}</p>--> <a ng-href="/{{x.imgurl}}"><img class="img-responsive center-block" ng-src="{{x.img}}" /></a> <p ng-class="(x.title.bckColour=='electrical') ? 'electrical center-block' : 'data center-block'" ng-init="text= x.title.name" ng-bind-html=" text | highlight:search" >{{x.title.name}}</p> </div> </div> </div> </div>