我制作的自定义过滤器和自定义指令存在问题。自定义指令用于聚焦导航栏,自定义滤镜用于突出显示搜索结果。在未附加过滤器之前,该指令正常工作。但是一旦我实现了我的过滤器,指令就会停止工作。 这是代码
的.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)
}
})
app.directive('focus', function() {
return {
restrict: 'A',
link: function($scope,element,attributes) {
element.bind('keydown', function(e) {
var code = e.keyCode || e.which;
if (code === 13) {
e.preventDefault();
element.next().focus();
}
});
}
}
})
HTML
<li>
<ul ng-repeat = "info in infos | filter:curInfo.name" >
<img src="{{info.image.link}}"/> {{info.name}}
<li ng-repeat="group in info.groups | filter: curInfo" ng-bind-html="group.name | highlight:curInfo.name">
<a href="#">{{group.name}}</a>
</li>
<div class="add list">
<a href="" ng-click="addGroup(groups)">+Add group </a>
</div>
</ul>
</li>