【发布时间】:2013-12-09 09:08:12
【问题描述】:
我正在尝试使用 AngularJS,这是我的第一次尝试。我正在尝试使用“开始于”而不是“包含”之类的内容来过滤对象数组,但我不明白该怎么做。
假设我有一个像这样的elements 数组
[{
amount: 50
}, {
amount: 25
}]
如果我想按5 过滤,两条记录都会显示,而我只想拥有第一个,即以5 开头的记录。
这是我到目前为止所做的,用于循环部分(我还添加了排序和分页部分,即使可能不会影响我想要实现的目标)
<tr ng-repeat="element in elements | filter:search:strict | orderBy:predicate:reverse | filter:startFrom:currentPage*pageSize | limitTo:pageSize">
<td>{{element.name}}</td>
<td>{{hotel.amount}}</td>
</tr>
对于我写“5”的输入
<input class="pull-right" ng-model="search.amount">
我不明白如何在这里创建自定义处理程序,以便我可以解析每个第 n 个项目并查看它是否以传递的数字开头。
【问题讨论】:
-
您的数据模型包含整数,但您正在尝试对其使用字符串类型的过滤器。我相信您需要在过滤器中使用自定义比较器函数,该函数首先将整数转换为字符串。
-
几种处理方法..可以过滤控制器中的数据或创建自定义过滤器以用于标记。您是否只想搜索对象的特定属性?
-
@XMLilley 好的,我该如何开始?
-
@charlietfl 让我们从这个例子中的工作开始。我需要了解 AngularJS 的执行方式。