我正在关注待办事项列表 Angular 教程。现在,我想循环遍历所有待办事项列表并清除属性 did 为 true 的所有项目。
现在在我的 index.html 文件中,我有一个带有 ng-click 属性“clearCompleted()”的按钮。该函数在我的 js 文件中如下所示:
$scope.clearCompleted = function () {
$scope.todos = $filter($scope.todos, function(todo){
return !todo.done;
});
};
这个函数有什么问题,因为它没有清除设置为done:true的待办事项。
在更一般的问题中,我可以说“选择属性 did 为 true 的所有项目”之类的典型方式是什么,因为我更习惯 ruby 而不是 javascript。
最佳答案
$filter(name)
获取具有该名称的过滤器。为了实际调用它,您可以编写 `$filter(name)(/过滤器的参数/)
有一个名为 filter
的预定义过滤器,可用于过滤数组。您传入一个对象进行比较:
$scope.clearCompleted = function () {
$scope.todos = $filter("filter")($scope.todos, {done:false});
};
这将返回具有属性 done
且值为 false
的所有项目。
关于javascript - 迭代数组 Angular ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20887732/