使用 limitto 过滤 angular 对象中的数字
Filter Number in an angular object using limitto
我正在对重复的项目数组使用 angularjs 过滤方法,并尝试使用 limitTo 过滤器过滤数字。结果未应用于 DOM.
中的重复
这是html
<div ng-controller="demo as d">
<input type="text" ng-model="d.test" ng-change="d.filterthis(d.test)"><br>
<div ng-repeat="item in d.items | limitTo:d.limitto track by $index">
<span ng-show="!item.show">{{item.myno}}</span> -
<span ng-show="!item.show">{{$index}} - {{item.mystr}}</span><br>
</div>
</div>
App.js 过滤函数 with angularjs
this.filterthis = function(filter){
that.items.map(function(filter){
return function(obj){
obj.show=true;
if(obj.myno.toString().indexOf(filter) >-1){
console.log(obj);
obj.show=false;
}
return obj;
}
}(filter));
};
Items 是这样的数组
this.items = [{
show:false,
myno:10,
mystr:"test1"
}];
将 "show" 作为项目的关键字,不会将其从 ng-repeat
中删除,因此 limitTo
过滤器仍将 return 项目。相反,您应该像这样
在重复中利用 filter
过滤器
<input type="text" ng-model="d.search"><br>
<div ng-repeat="item in d.items | filter:{myno:d.search} | limitTo:d.limitto track by $index">
<span>{{item.myno}}</span> -
<span>{{$index}} - {{item.mystr}}</span><br>
</div>
请注意,这里的顺序很重要,如果您 limitTo
然后 filter
您只是过滤了有限的结果。您可以通过将 {myno:d.search}
更改为不同的键来更改您过滤的键,或者如果您想要搜索整个对象,只需使用 d.search
.
我正在对重复的项目数组使用 angularjs 过滤方法,并尝试使用 limitTo 过滤器过滤数字。结果未应用于 DOM.
中的重复这是html
<div ng-controller="demo as d">
<input type="text" ng-model="d.test" ng-change="d.filterthis(d.test)"><br>
<div ng-repeat="item in d.items | limitTo:d.limitto track by $index">
<span ng-show="!item.show">{{item.myno}}</span> -
<span ng-show="!item.show">{{$index}} - {{item.mystr}}</span><br>
</div>
</div>
App.js 过滤函数 with angularjs
this.filterthis = function(filter){
that.items.map(function(filter){
return function(obj){
obj.show=true;
if(obj.myno.toString().indexOf(filter) >-1){
console.log(obj);
obj.show=false;
}
return obj;
}
}(filter));
};
Items 是这样的数组
this.items = [{
show:false,
myno:10,
mystr:"test1"
}];
将 "show" 作为项目的关键字,不会将其从 ng-repeat
中删除,因此 limitTo
过滤器仍将 return 项目。相反,您应该像这样
filter
过滤器
<input type="text" ng-model="d.search"><br>
<div ng-repeat="item in d.items | filter:{myno:d.search} | limitTo:d.limitto track by $index">
<span>{{item.myno}}</span> -
<span>{{$index}} - {{item.mystr}}</span><br>
</div>
请注意,这里的顺序很重要,如果您 limitTo
然后 filter
您只是过滤了有限的结果。您可以通过将 {myno:d.search}
更改为不同的键来更改您过滤的键,或者如果您想要搜索整个对象,只需使用 d.search
.