我已在this fiddle成功实施几乎所有类型的过滤器:
<div data-ng-app='' data-ng-init="vehicles=[
{type:'car',color:'red'},
{type:'bike',color:'black'}]">
<h1>
AngularJS <a href='http://www.w3schools.com/angular/angular_filters.asp'>
Filters Example</a>
</h1>
<p>Enter text
<input type='text' data-ng-model='abc' />
</p>
<p>The text you entered is
<br/> <a href='http://www.w3schools.com/angular/tryit.asp?filename=try_ng_filters_uppercase'>Upper case</a> {{ abc | uppercase }}
<br/><a href='http://www.w3schools.com/angular/tryit.asp?filename=try_ng_filters_lowercase'>Lower case</a> {{ abc | lowercase }}</p>Enter amount
<input type='number' data-ng-model='num1' />
<p>The <a href='http://www.w3schools.com/angular/tryit.asp?filename=try_ng_filters_currency'>amount</a> you entered is
<br/>{{ num1 | currency }}</p> <a href='http://www.w3schools.com/angular/tryit.asp?filename=try_ng_filters_orderby'> Directives Filter example</a>
<br/>Vehicles filtered by type:
<ul data-ng-repeat="v in vehicles | orderBy:'type'">
<li>{{"Vehicle type is "+v.type +" with color "+ v.color}}</li>
</ul>
<br/>Vehicles <a href='http://www.w3schools.com/angular/tryit.asp?filename=try_ng_filters_input'>filtered by user input:</a>
<br/>
<input type="text" ng-model='test' />
<ul data-ng-repeat="v in vehicles | filter: 'test' | orderBy:'type'">
<li>{{"Vehicle type is "+v.type +" with color "+ v.color}}</li>
</ul>
</div>
除input filters外,一切正常。
这就是我现在seeing的方式:
为什么数组未按用户输入打印和过滤?
答案 0 :(得分:2)
从传递给过滤器的'test'
中删除单引号。因为它不是字符串,所以它是一个模型,它应该直接传递给过滤器。
<ul data-ng-repeat="v in vehicles | filter: test | orderBy:'type'">
<li>{{"Vehicle type is "+v.type +" with color "+ v.color}}</li>
</ul>
以上代码可以使用。