Angularjs 有条件地显示数组:角度

Angularjs 有条件地显示数组:角度,angularjs,angular-filters,Angularjs,Angular Filters,我正在尝试筛选我的数组:这是我的小提琴:。 有两个选择列表,以下是条件: when top select list === 123 ====> bottom select list should show 001,002,003 及 when top select list === 1234 ====> bottom select list should show 002,004,005 我应该使用这样的.slice(1,3)? 非常感谢这是一把可以

我正在尝试筛选我的数组:这是我的小提琴:。
有两个选择列表,以下是条件:

when top select list === 123        ====> bottom select list should show 001,002,003 

when top select list === 1234        ====> bottom select list should show 002,004,005
我应该使用这样的
.slice(1,3)


非常感谢

这是一把可以随心所欲的小提琴,1234显示的是002004005,因为它可以

var-app=angular.module('myApp',[]);
应用程序控制器('mainCtrl',函数($scope){
$scope.colors=[
{name:'black',shade:'123'},
{名称:'white',阴影:'1234'},
];
var allRanges=[
{id:'001',编号:'1'},
{id:'002',编号:'2'},
{id:'003',编号:'3'},
{id:'004',编号:'4'},
{id:'005',编号:'5'}
];
$scope.range=[];
$scope.check=函数(){
var滤波器;
如果($scope.color==“黑色”){
过滤器=功能(r){
如果(r.编号<4){
返回true;
}
};
}如果($scope.color=='white',则为else){
过滤器=功能(r){
if(['2','4','5'].indexOf(r.number)>=0){
返回true;
}
};
}
$scope.range=allRanges.filter(过滤器);
}

}))

您是如何决定1234应该显示002004005的。你应该试着把你想要达到的实际场景包括进去,而不是编造一个随机的场景。你能解释一下critiera背后的逻辑吗?为什么
1234
应该是
002,004,005
?这是规则,这不是一个随机或虚假的场景,这是我们的团队应该创建的。我真的不知道,因为产品所有者给了我们这个任务,我们不询问逻辑。这是一把你想要的小提琴,其中1234显示002004005只是因为它有。
var app = angular.module('myApp', []);
app.controller('mainCtrl', function($scope){
$scope.colors = [
    {name:'black', shade:'123'},
    {name:'white', shade:'1234'},

];
var allRanges =  [
    {id:'001', number:'1'},
    {id:'002', number:'2'},
    {id:'003', number:'3'},
    {id:'004', number:'4'},
    {id:'005', number:'5'}
];

$scope.range = [];



$scope.check = function(){
    var filter;
    if($scope.color === "black"){
        filter = function(r){
            if(r.number < 4){
                return true;
            }
        };
    } else if($scope.color === 'white'){
        filter = function(r){
            if(['2','4','5'].indexOf(r.number) >= 0){
                return true;
            }
        };
    }
    $scope.range = allRanges.filter(filter);
}