我修改了AngularJS函数filterFilter,因此我可以使用完全匹配。因此,搜索“1”仅给出“1”,而不是“11”,“12”等。
function filterFilter() {
return function(array, expression,exact) {
...
var search = function(obj, text){
...
case "string":
return exact?('' + obj).toLowerCase() === text:('' + obj).toLowerCase().indexOf(text) > -1;
现在我可以像这样使用它: sectionDicts |滤波器:{ID:section.sectionDictId}:真
但是如何在不修改角度来源的情况下扩展此功能?我发现了这个How to extend or override existing filters in angularjs?,但我认为这是另一种情况。
此https://groups.google.com/forum/#!msg/angular/v-WjFF-iR88/XSXRhkGhf_sJ也不起作用
修改 正如建议我添加了新的过滤器。我刚刚复制了filterFilter,将其修改为我的需求。虽然我还必须从angular.js
复制函数getter和isFunction答案 0 :(得分:3)
您可以创建自己的过滤器来满足您的需求。我真的没有办法改变这个功能的内部工作方式,至少我知道这一点。此外,听起来你想要做的事情与角度的“过滤器”过滤器的记录行为有根本的不同,如果你改变了原版,就会混淆下一个开发者的出现。