Javascript 带ng重复的过滤器
我正在尝试使用名为Javascript 带ng重复的过滤器,javascript,html,angularjs,Javascript,Html,Angularjs,我正在尝试使用名为ng repeat的angularJs指令制作一个过滤器。过滤器的工作原理如下: 当你点击复选框在一个数组中过滤提供的项目时,我正在使用一个函数来过滤,我认为有一个更好的方法可以不用那么多代码 var-app=angular.module('myApp',[]); app.controller('myCtrl',函数($scope,$http,$document){ $scope.items=[ { id:0, 说明:“初级项目1”, 提供:[ { id:0, 名称:“卡萨”
ng repeat
的angularJs
指令制作一个过滤器。过滤器的工作原理如下:
当你点击复选框
在一个数组中过滤提供的项目
时,我正在使用一个函数来过滤,我认为有一个更好的方法可以不用那么多代码
var-app=angular.module('myApp',[]);
app.controller('myCtrl',函数($scope,$http,$document){
$scope.items=[
{
id:0,
说明:“初级项目1”,
提供:[
{
id:0,
名称:“卡萨”
}
]
},
{
id:1,
说明:“Segundo项目2”
},
{
id:2,
说明:“第三项”
},
{
id:3,
说明:“Cuarto项目4”
},
{
id:4,
描述:“Quinto项目5”
},
{
id:5,
说明:“第六项至第5项”,
提供:[
{
id:1,
名称:“酒馆”
}
]
},
{
id:6,
说明:“Septimo项目6”
},
{
id:7,
说明:“八声道第7项”
},
{
id:8,
说明:“Noveno项目8”
},
{
id:9,
说明:“Decimo项目9”
}
];
$scope.filterItem=函数(){
如果(!$scope.itemOffer){
$scope.filterOffer=函数(项){
return item.offers&&item.offers.length>0;
};
$scope.itemOffer=true;
}否则{
$scope.filterOffer=函数(项){
退货项目;
};
$scope.itemOffer=false;
}
};
});代码>
有价物品
{{item}}
您可以使用ng if和ng repeat指令来过滤包含任意报价的项目:
JS代码
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http, $document) {
$scope.offersOnly = false;
$scope.items = [
// Your items
];
});
HTML代码
<body ng-app="myApp" ng-controller="myCtrl">
<input type="checkbox" ng-model="offersOnly" ng-true-value="true" ng-false-value="false"/>
<div ng-repeat="item in items" ng-if="!offersOnly">
{{item}}
</div>
<div ng-repeat="item in items" ng-if="offersOnly && item.offers">
{{item}}
</div>
</body>
{{item}}
{{item}}
是否有其他方法在没有函数的情况下执行此操作@Joe25@TheVicious抱歉耽搁了,是的,当然,你可以使用ng的一个条件:{{item}你可以用我的代码做一个完整的过程,你将要实现的新@Joe25I将用完整的工作代码更新原始答案在这种情况下不是最好的答案,但它对@Joe25很有用