Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带ng重复的过滤器_Javascript_Html_Angularjs - Fatal编程技术网

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很有用