Javascript 如何避免对angular js中的某些对象属性进行过滤
对象是Javascript 如何避免对angular js中的某些对象属性进行过滤,javascript,angularjs,filter,Javascript,Angularjs,Filter,对象是 StudentObj = {name : 'Me', Place : 'Bangalore',uniqueId :'233abc233' } <input type='text' ng-model='sText'> Html模板 <ul> <li ng-repeat:'entry in StudentObj |filter:sText' > <span>{{entry.name}}</span>
StudentObj = {name : 'Me', Place : 'Bangalore',uniqueId :'233abc233' }
<input type='text' ng-model='sText'>
Html模板
<ul>
<li ng-repeat:'entry in StudentObj |filter:sText' >
<span>{{entry.name}}</span>
<span ng-bind='entry.place'></span>
</li>
</ul>
-
{{entry.name}
且搜索筛选器为
StudentObj = {name : 'Me', Place : 'Bangalore',uniqueId :'233abc233' }
<input type='text' ng-model='sText'>
问题:
如果我在该行正在选择的文本过滤器中搜索“233abc233”,
但不应选择此
仅在“名称”和“位置”值上,应选择该行“
提前感谢您可以使用这样的过滤器仅匹配两个字段:
<li ng-repeat="entry in StudentObj | filter:{name: sText, Place: sText}">
然后在ng repeat
中使用它,如下所示:
<li ng-repeat="entry in StudentObj | filter:customFilter(sText)">
示例plunker:问题仍然存在,因为筛选器将同时检查名称和位置属性,如果其中一个属性返回false,则逻辑失败。因此,您需要
或逻辑?如果名称或位置匹配,则应显示行,对吗?是的,请更正。如果我键入“Me”它应该在name或place中搜索,如果name返回true,那么这个逻辑应该返回true,即row selected,否则返回false
StudentObj = {name : 'Me', Place : 'Bangalore',uniqueId :'233abc233' }
<input type='text' ng-model='sText'>