angularjs – 具有谓词函数的Angular ng-repeat过滤器不能按预期
发布时间:2020-12-17 10:26:06 所属栏目:安全 来源:网络整理
导读:这是我第一次玩AngularJS,实际上,我正在按照入门教程进行操作.我想到了我会将教程脚本调整到我的理解中,只需添加一些本教程中没有的内容. 基本上,本教程中使用的手机对象是: { "age": 1,"id": "motorola-xoom","imageUrl": "img/phones/motorola-xoom.0.jpg
这是我第一次玩AngularJS,实际上,我正在按照入门教程进行操作.我想到了我会将教程脚本调整到我的理解中,只需添加一些本教程中没有的内容.
基本上,本教程中使用的手机对象是: { "age": 1,"id": "motorola-xoom","imageUrl": "img/phones/motorola-xoom.0.jpg","name": "MOTOROLA XOOM?","snippet": "The Next,Next Generation..." } 我试图做的是添加一个自动填充的选择框来订购列表: <select ng-model="orderProp"> <option ng-repeat="(key,value) in phones[0]" value="{{key}}"> {{labels[key]}} </option> </select> 并为控制器添加了模型标签: $scope.labels = { "name": "Phone name","snippet": "Description","age": "Newest",}; 它按预期工作,除了我只想过滤上面的3个属性,所以我认为很容易添加自定义谓词函数进行过滤,如下所示: $scope.isPhonePropFilterable = function (propName) { console.log('it DOES NOT get here!!!'); return propName == 'name' || propName != 'snippet' || propName != 'age'; }; 并将其添加到ng-repeat中 <option ng-repeat="(key,value) in phones[0] | filter:isPhonePropFilterable" value="{{key}}"> 令我惊讶的是,它并不像我想象的那么容易,我的过滤功能没有被调用. 在此处查看:plunker 我做错了什么吗? 编辑:ng-repeat过滤器仅支持过滤数组,而不支持对象.如果数组参数不是数组,则过滤函数返回…
嗯,这是我的错. Ng-repeat过滤器仅支持数组,它只在文档中提及数组.并检查过滤器函数,如果数组参数不是数组,则返回….
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |