filter---用angularjs实现关键字高亮


实现关键字的高亮,主要是用到了将关键字动态的用em标签包住,然后对em进行样式操作。然后通过自定义filter,来完成对关键字的筛选。

<html>
    <head>
        <title></title>
         <meta charset='utf-8'/>
         /*js以及css的引用略*/
    </head>
    <body ng-app = "myApp" controller = "myCtrl">
        <ul>
              <li ng-repeat="log in logs">{{log | getKey:log.match}}</li>
        </ul>  
    </body>
</html>
var myApp = angular.module('myApp',[]);

myApp.controller('myCtrl',['$scope',function($scope){
       $scope.logs =[
           {'logName':'logOne','match':'one'},
           {'logName':'logTwo','match':'two'},
           {'logName':'logThree','match':'three'}
        ];
}]);

myApp.filter('getKey',['$sce',function($sce){
     return function(content,match) {
            var reg = new RegExp(match,'g');
            content.replace(reg,'<em>'+match+'</em>');
            return $sec.trustAsHtml(content);
      }
}])        

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM