Angularjs通过单击catogery筛选产品
你能给我一个过滤产品的代码吗?点击分类菜单。下面是HTML、JSON和JS代码 类别HTML:Angularjs通过单击catogery筛选产品,angularjs,Angularjs,你能给我一个过滤产品的代码吗?点击分类菜单。下面是HTML、JSON和JS代码 类别HTML: <ul> <li ng-repeat="cat in allData"><a ng-click="catFun(cat.catogery)" class="list-group-item">{{cat.catogery}}</a></li> JS代码: $scope.filtered = {}; $scope.catFun = functi
<ul>
<li ng-repeat="cat in allData"><a ng-click="catFun(cat.catogery)" class="list-group-item">{{cat.catogery}}</a></li>
JS代码:
$scope.filtered = {};
$scope.catFun = function(catVal){
$scope.filtered = catVal;
};
$scope.filterBycat = function(item){
if($scope.filtered){
return $scope.filtered === Object;
}else{
return item;
}
}
用以下功能替换filterByCat
$scope.getFilter = function(){
return {"catogery":$scope.filtered}
}
并且认为:
<div ng-repeat="product in allData | filter:getFilter"> ... </dive>
。。。
下面是一个示例代码,该示例代码位于角度过滤器上,它需要一个数组作为输入。数据不是数组,而是对象。在能够使用过滤器之前,首先需要正确格式化数据 如果您不关心密钥内容,可以使用以下选项:
$scope.allData = Object.keys(d).map(function(key){ return d[key] })
这是您的钢笔的一个修改版本,可以举例说明这一点:您能在上面添加一个示例吗?@tarun mishra:您能把您的问题说得更具体些吗?你的问题是什么?您的代码中当前不起作用的是什么?你试了什么?你们很难理解什么?@ThomasGuillory请检查代码笔上的项目这是一个大项目,所以我添加了一个小部分。我使用json服务获取数据,您可以在angularjs service@ThomasGuillory中看到我想要过滤产品,请点击分类菜单,请检查我是否在代码笔上添加了项目,我通过我创建的服务获取数据,您可以在js中看到。使用您的代码,我得到了如下错误:预期的数组,但收到:{“1”:{“id”:“1”,“catogery”:“men”}
<div ng-repeat="product in allData | filter:getFilter"> ... </dive>
$scope.allData = Object.keys(d).map(function(key){ return d[key] })