在angularjs中进行多选指令的最佳方法

我正在用angularjs开发一个multiselect指令(因为该项目在angularjs上工作,所以必须在这项技术中使用)。该指令与inputdata数组和ouputdata数组一起使用,inputdata中"cheked: true"的所有内容均保存在输出数据中。我使用javascript过滤器进行了此操作,但与此同时遇到了一些问题。我想知道是否存在将带有提到的属性(cheked:true)的每个对象发送到ouptdata的最佳方法。

$scope.inputData = [
    { name: 'Dato 1', maker: 'Dato 1 Largo', group: 'Grupo 1', selected: true},
    { name: 'Dato 2', maker: 'Dato 2 Largo', group: 'Grupo 1', selected: false},
    { name: 'Dato 3', maker: 'Dato 3 Largo', group: 'Grupo 1', selected: true},
    { name: 'Dato 4', maker: 'Dato 4 Largo', group: 'Grupo 1', selected: false},
 ];
 $scope.ouputData = [
    { name: 'Dato 1', maker: 'Dato 1 Largo', group: 'Grupo 1', selected: true},
    { name: 'Dato 3', maker: 'Dato 3 Largo', group: 'Grupo 1', selected: true},
 ];

最佳答案

您是否正在寻找这样的东西?

$scope.$watchCollection('inputData', function(newVal){
    if(newVal){
        $scope.outputData = newVal.filter(data => { return data.selected });
    }
});

09-25 18:03