在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 });
}
});