我是Angular的新手,最近刚刚在MVC网站上学习了使用Angular的课程。我现在正试图采取培训中显示的内容,并尝试在我已经完成的小型网站中实施它。我有一个要求,培训没有解决,我不确定如何包含在我的代码中。
这是一家小公司在留言时跟踪客户来电的网站。记录可以是多种状态之一,如打开,关闭,正在进行,需要回拨等等。
当页面启动时,我调用一个返回所有记录的Web服务。但是,我希望它最初通过“OPEN”进行过滤,并显示直到从下拉列表中选择另一个过滤器。因此默认状态为“1”或“OPEN”。
页面加载后过滤记录的好方法是什么?我假设我需要某种属性,如vm.FilterId 我最初会设置为“1”然后下拉列表会改变该值吗?
我如何过滤客户端上的数据?
这是我的angualr文件中的API调用,名为“call.controller.js”。
function callList(){
dataService.get("/api/Call")
.then(function(result) {
vm.calls = result.data;
},
function (error) {
handleException(error)
});
}
这是我在表格标签内放置标签的ng-repeat。我假设这可能是我尝试进行某种过滤的地方吗?
<tr ng-repeat="call in vm.calls">
更新
根据我的理解,我应该可以做这样的事情来初步过滤?这没有任何回报。状态字段是整数。
<tr ng-repeat="call in vm.calls | filter:{ status: 1}">
答案 0 :(得分:1)
您可以使用管道过滤ng-repeat指令。
选项1:
<div ng-repeat="call in vm.calls | filter:{ open: value}">
选项2:
Value source: <input type="text" ng-model="search.open">
<div ng-repeat="product in products | filter:open">
您可以查看例如here