我想添加到dag Paginate控件过滤。
<tr dir-paginate="advert in adverts |orderBy:propertyName:reverse | filter: searchAdvert | itemsPerPage: pageSize">
我的数据模型中有categoryId属性,我想通过选择4个按钮中的一个来过滤它,所以我编写了如下代码:
<button type="button" class="btn btn-default" ng-click="applyFilter(3)">Items</button>
<button type="button" class="btn btn-default" ng-click="applyFilter(4)">Accomodation</button>
在我的控制中是:
$scope.applyFilter = function(object) {
$scope.searchAdvert.categoryId = object;
}
});
然而,它不起作用。只有当我添加以下文本框时,它才适用于我:
<input type="text" placeholder="Search by Category" ng-model="searchAdvert.categoryId" />
如果我写例如1,然后我可以使用按钮,他们的工作。 我想让它在没有thix文本框(仅按钮)的情况下工作
答案 0 :(得分:1)
将您的applyFilter更改为:
$scope.applyFilter = function(object) {
if(!$scope.searchAdvert)
$scope.searchAdvert = {};
$scope.searchAdvert.categoryId = object;
}
您当前的代码正在尝试在null对象上设置值categoryId
。您的文本框示例在内部创建$ scope.searchAdvert对象,并允许categoryId
绑定。