首先,如果要是先查询过滤,就要使用到AngularJS中的 过滤器filter 了。
直接在表达式的后面使用管道命令符 | ,按照下面的写法就可以达到一个过滤的效果:
{{ persons | filter:query }}
通过使用filter实现过滤操作,query是查询过滤时输入的字符串。
类似地,使用orderBy就可以实现排序的功能:
{{ persons | filter:query | orderBy:order }}
上面的查询以及排序涉及到两个变量,query和order。在这里直接使用ng-model实现数据的绑定即可:
数据的展现,可以通过ng-repeat实现。当网页解析到ng-repeat的时候,会为每一个数组中的元素都克隆一份标签,进行编译解析。
<ul class=
"persons"
>
<li ng-repeat=
"person in persons | filter:query | orderBy:order"
>
{{person.name}}
{{person.age}}
</li>
</ul>
这些就是需要在script中进行perons数组的初始化:
<script type=
"text/javascript"
>
function
ctl($scope){
$scope.persons = [
{
"name"
:
"xingoo"
,
"age"
:25},
{
"name"
:
"zhangsan"
,
"age"
:18},
{
"name"
:
"lisi"
,
"age"
:20},
{
"name"
:
"wangwu"
,
"age"
:30}
];
$scope.order =
"age"
;
}
</script>