结果中的Angular - Bold搜索词ng-repeat

时间:2015-05-20 17:44:18

标签: angularjs angularjs-ng-repeat

我有一个公司搜索页面,我在其中传递搜索字词" test"它返回一个对象数组

[{CompanyName: 'Test Company', Description: 'This is a test description.'}]

我有一个ng-repeat,在表格中显示这些

<table>
 <tr ng-repeat="company in companies">
  <td>{{company.CompanyName}}</td>
  <td>{{company.Description}}</td>
 </tr>
</table>

我想在每个结果中加粗搜索词。

<b>Test</b> Company | This is a <b>test</b> description.

但我能找到的唯一帖子与我不想做的过滤有关。我假设我必须使用指令,但细节是我在这里提到的。我似乎无法将所有部分放在一起,以便按照我想要的方式进行工作。任何帮助,将不胜感激。

谢谢! -Jim

1 个答案:

答案 0 :(得分:0)

感谢@kanchirk,我已经明白了。我仍然是棱角分明的新人,但是根据你建议的帖子,我得到了它。我读过的是我必须传入$ sce作为“依赖注入”,但我认为将其作为函数中的变量传递就是这样做的。一旦我弄清楚我是多么的错,它就像一个魅力。

    .controller("SearchCtrl", ['$scope', '$sce', 
        function ($scope, $sce) {    
            $scope.boldText = function (text) {
                var htmlText;
                var regex = RegExp($scope.textField, 'gi')
                var replacement = '<strong>$&</strong>';
                htmlText = $sce.trustAsHtml(text.replace(regex, replacement));
                return htmlText;
            };
     }]);

同时:

<span ng-bind-html="boldText(company.Keywords)"></span>

感谢大家的帮助和建议。我真的很感激。

相关问题