【发布时间】:2017-06-13 13:38:36
【问题描述】:
我的 Angular JS 项目中的过滤器功能有问题。这是我的代码:
<div class="tree-folder">
<div ng-repeat="catalog in ListCatalogData | filter:TextSearchTree" ng-include="'treeItem'"></div>
</div>
它适用于除“!”之外的所有字符。我需要帮助!
【问题讨论】:
我的 Angular JS 项目中的过滤器功能有问题。这是我的代码:
<div class="tree-folder">
<div ng-repeat="catalog in ListCatalogData | filter:TextSearchTree" ng-include="'treeItem'"></div>
</div>
它适用于除“!”之外的所有字符。我需要帮助!
【问题讨论】:
在角度过滤器文档中:
字符串用于匹配数组的内容。全部 数组中具有与此匹配的字符串属性的字符串或对象 将返回字符串。这也适用于嵌套对象 特性。 可以通过在字符串前面加上前缀来否定谓词 !。
因此,如果您必须搜索“!”您需要编写新的过滤器,例如:
app.filter('wordsFilter', function() {
return function(items, word) {
var filtered = [];
angular.forEach(items, function(item) {
if(item.indexOf(word) !== -1){
filtered.push(item);
}
});
return filtered;
};
});
【讨论】: